MySQL RIGHT() 函数



MySQL 的RIGHT()函数接受一个字符串值和一个数值(例如 N)作为参数,并返回从右到左指定长度的字符串。

此函数可用于各种场景,例如提取文件扩展名、区号或字符串右端的任何其他文本字符串。

语法

以下是 MySQL RIGHT() 函数的语法:

RIGHT(str, length)

参数

此函数以字符串值和指定的字符数作为参数。

返回值

此函数返回字符串最右侧的指定长度部分。

示例

在以下示例中,该函数从字符串 'TUTORIALSPOINT' 中提取最后 5 个字符:

SELECT RIGHT('Tutorialspoint', 5);

以下是上述代码的输出:

RIGHT('Tutorialspoint', 5)
POINT

示例

如果指定的字符数大于字符串的长度,则该函数将返回整个字符串,没有任何更改:

SELECT RIGHT('Hello', 10);

获得的输出如下:

RIGHT('Hello', 10)
Hello

示例

如果传递给函数的任何参数为 NULL,则返回 NULL:

SELECT RIGHT(NULL, 5);

获得的输出如下:

RIGHT(NULL, 5)
NULL

示例

您也可以将数值作为参数传递给此函数:

SELECT RIGHT(763275825171, 6);

我们得到如下输出:

RIGHT(763275825171, 6)
825171

示例

825171

SET @str = '05/20/2023';
SELECT RIGHT(@str, 4) AS 'year';

我们得到如下输出:

您也可以使用变量来存储字符串,然后应用 RIGHT() 函数:
2023

示例

year

您还可以将表的列名作为参数传递给此函数,并打印其中所需的字符。

CREATE TABLE EMP(
   FIRST_NAME  CHAR(20) NOT NULL,
   LAST_NAME  CHAR(20),
   AGE INT,
   INCOME FLOAT
);

让我们创建一个名为“EMP”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

INSERT INTO EMP VALUES 
('Krishna', 'Sharma', 19, 2000),
('Raj', 'Kandukuri', 20, 7000),
('Ramya', 'Ramapriya', 25, 5000),
('Mac', 'Mohan', 26, 2000);

现在,让我们使用 INSERT 语句向其中插入记录:

获得的 EMP 表如下: FIRST_NAME LAST_NAME AGE
INCOME Krishna 19 2000
Sharma Raj 20 7000
Kandukuri Ramya 25 5000
Ramapriya Mac 26 2000

Mohan

SELECT FIRST_NAME, LAST_NAME, AGE, RIGHT(FIRST_NAME, 3) as Result 
FROM EMP;

以下查询使用 RIGHT() 函数检索“FIRST_NAME”列中的最后 3 个字符:

输出

获得的 EMP 表如下: FIRST_NAME LAST_NAME 执行上述代码后,我们得到以下输出:
INCOME Krishna 19 结果
Sharma Raj 20 Sharma
Kandukuri Ramya 25 hna
Ramapriya Mac 26 Ramapriya

示例

mya

CREATE TABLE PERSONS(
   ID INT AUTO_INCREMENT PRIMARY KEY,
   NAME VARCHAR(100) NOT NULL,
   AGE VARCHAR(20) NOT NULL
);

假设我们使用以下查询创建了另一个名为 PERSONS 的表:

INSERT INTO PERSONS(NAME, AGE) VALUES 
('Navjot singh', 32),
('Virat kohli', 23),
('Ramandeep kaur', 53),
('Deepak chahar', 78),
('Harry brook', 27);

在这里,我们使用 INSERT INTO 语句向上面创建的表中插入记录,如下所示:

获得的 PERSONS 表如下: ID LAST_NAME
1 NAME 32
2 Navjot singh 23
3 Virat kohli 53
4 Ramandeep kaur 78
5 Deepak chahar 27

Harry brook

  • 在以下查询中,我们从 PERSONS 表中获取每个人的姓氏。为此,方法如下:
  • 首先,我们使用 INSTR() 函数查找名称中空格 (" ") 的位置。
  • 其次,我们使用 LENGTH() 函数查找名称的长度。这里 RIGHT 函数的长度将是人员姓名长度减去空格 (" ") 的位置。
SELECT NAME, RIGHT(NAME, LENGTH(NAME) - INSTR(NAME, ' ')) AS 'Lastname'
FROM PERSONS;

以下查询使用 RIGHT() 函数检索“FIRST_NAME”列中的最后 3 个字符:

输出

ID 除此之外,我们使用 RIGHT() 函数提取人的姓氏,即空格 (" ") 后面的字符。
NAME Lastname
Navjot singh singh
Virat kohli kohli
Ramandeep kaur kaur
Deepak chahar chahar
brook
打印页面