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() 函数,以打印其中的所需字符。假设我们使用以下 CREATE 语句在SQL中创建了一个名为 Customers 的表:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2));
现在,让我们依次插入四条记录到 Customers 表中,使用如下所示的 INSERT 语句-
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 |
+----+----------+-----------+-------------------+