RIGHT (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
返回字符串中从右边开始指定个数的字符。
语法
RIGHT ( character_expression , integer_expression )
参数
character_expression
字符或二进制数据的表达式。 character_expression 可以是常量、变量或列。 character_expression 可以是除 text 或 ntext 外的任何数据类型,可隐式转换为 varchar 或 nvarchar 。 否则,请使用 CAST 函数显式转换 character_expression。
备注
如果 string_expression 的类型为二进制或 varbinary ,则 RIGHT 将执行到 varchar 的隐式转换,因此不会保留二进制输入。
integer_expression
指定要返回的 character_expression 的字符数的正整数。 如果 integer_expression 为负,则返回错误。 如果 integer_expression 的数据类型为 bigint,且包含较大的值,则 character_expression 必须是较大的数据类型,如 varchar(max)。
返回类型
character_expression 为非 Unicode 字符数据类型时,返回 varchar。
character_expression 为 Unicode 字符数据类型时,返回 nvarchar。
补充字符(代理项对)
在使用 SC 排序规则时,RIGHT 函数将 UTF-16 代理项对计为一个字符。 有关详细信息,请参阅 排序规则和 Unicode 支持。
示例
答:对列使用 RIGHT
以下示例返回 AdventureWorks2022 数据库中每个联系人名字中最右边的五个字符。
SELECT RIGHT(FirstName, 5) AS 'First Name'
FROM Person.Person
WHERE BusinessEntityID < 5
ORDER BY FirstName;
GO
结果集如下。
First Name
----------
Ken
Terri
berto
Rob
(4 row(s) affected)
示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
B. 对列使用 RIGHT
以下示例返回 DimEmployee
表中每个姓氏最右边的五个字符。
-- Uses AdventureWorks
SELECT RIGHT(LastName, 5) AS Name
FROM dbo.DimEmployee
ORDER BY EmployeeKey;
以下为部分结果集。
Name
-----
lbert
Brown
rello
lters
C. 对字符串使用 RIGHT
以下示例使用 RIGHT
返回字符串 abcdefg
中最左边的两个字符。
SELECT RIGHT('abcdefg', 2);
结果集如下。
-------
fg
另请参阅
LEFT (Transact-SQL)
LTRIM (Transact-SQL)
RTRIM (Transact-SQL)
STRING_SPLIT (Transact-SQL)
SUBSTRING (Transact-SQL)
TRIM (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
数据类型 (Transact-SQL)
字符串函数 (Transact-SQL)