SQL - RIGHT() 函数



SQL 的RIGHT()函数用于从字符串中检索最右边的指定长度的字符。

它接受一个字符串值和一个数值 (例如 N) 作为参数,并返回从右到左指定长度的字符串。如果任何参数值为 NULL,则返回NULL

注意 - 如果数值参数值大于字符串中的字符数,则此函数将返回实际字符串。

语法

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

RIGHT(str,len)

参数

  • str - 它是给定的字符串,从中要提取右侧的若干个字符。

  • len - 它是要提取的字符数。

返回值

此函数返回实际(当前)字符串中最右边的字符。

示例

在以下示例中,我们使用RIGHT()函数从字符串'abcdefghi'中检索最右边的'4'个字符。

SELECT RIGHT('abcdefghi', 4);

输出

执行上述程序后,将产生以下输出:

+-----------------------+
| RIGHT('abcdefghi', 4) |
+-----------------------+
| fghi                  |
+-----------------------+

示例

以下是RIGHT()函数的另一个示例,使用此函数,我们尝试从实际(当前)字符串'Hello how are you'中检索最右边的10个字符。

SELECT RIGHT('Hello how are you', 10);

输出

以下是上述查询的输出:

+--------------------------------+
| RIGHT('Hello how are you', 10) |
+--------------------------------+
| ow are you                     |
+--------------------------------+

示例

如果传递给此函数的任何参数为NULL,则结果中返回 NULL 值。

SELECT RIGHT('HelloWorld!', NULL);

输出

上述程序产生以下输出:

+----------------------------+
| RIGHT('HelloWorld!', NULL) |
+----------------------------+
| NULL                       |
+----------------------------+

示例

您也可以将数值传递给此函数

在以下示例中,我们将数值'344576000'作为参数传递给RIGHT()函数。然后使用此函数,我们尝试从传递的数值中检索最右边的5个字符。

SELECT RIGHT(344576000, 5);

输出

以下是上述语句的输出:

+---------------------+
| RIGHT(344576000, 5) |
+---------------------+
| 76000               |
+---------------------+

示例

您还可以将表的列名作为参数传递给RIGHT()函数,以打印其中的所需字符。假设我们在 SQL 中使用以下CREATE语句创建了一个名为Customers的表:

CREATE TABLE CUSTOMERS(    
ID INT NOT NULL,    
NAME VARCHAR (20) NOT NULL,    
AGE INT NOT NULL,    
ADDRESS CHAR (25) ,    
SALARY DECIMAL (18, 2));

现在,让我们使用以下INSERT语句在Customers表中插入四条记录:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );

以下 SQL 查询打印Customers表中Address列内容的最后2个字符:

SELECT ID, NAME, ADDRESS, RIGHT(ADDRESS, 2) FROM CUSTOMERS;

输出

以下是上述 SQL 查询的输出:

+----+----------+-----------+-------------------+
| ID | NAME     | ADDRESS   | RIGHT(ADDRESS, 2) |
+----+----------+-----------+-------------------+
|  1 | Ramesh   | Ahmedabad | ad                |
|  2 | Khilan   | Delhi     | hi                |
|  3 | kaushik  | Kota      | ta                |
|  4 | Chaitali | Mumbai    | ai                |
+----+----------+-----------+-------------------+
sql-string-functions.htm
广告