RIGHT (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database 是Azure SQL 受控執行個體 是Azure Synapse Analytics 是平行處理資料倉儲

傳回指定字元數之字元字串的右側部分。

主題連結圖示 Transact-SQL 語法慣例

語法

RIGHT ( character_expression , integer_expression )  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

character_expression
這是字元或二進位資料的運算式character_expression 可以是常數、變數或資料行。 character_expression 可以是除了 textntext 之外的任何資料類型,可隱含地轉換為 varcharnvarchar。 否則,請使用 CAST 函數來明確轉換 character_expression

注意

string_expression二進位varbinary 的類型,RIGHT 就會執行隱含轉換成 varchar,所以不會保留二進位輸入。

integer_expression
這是一個指定將傳回的 character_expression 字元數的正整數。 如果 integer_expression 是負數,則會傳回錯誤。 如果 integer_expressionbigint 類型且包含大數值,則 character_expression 必須屬於大型資料類型,例如 varchar(max)

傳回型別

character_expression 是非 Unicode 字元資料類型時,則傳回 varchar

character_expression 是 Unicode 字元資料類型時,則傳回 nvarchar

補充字元 (Surrogate 字組)

當使用 SC 定序時,RIGHT 參數也將 UTF-16 Surrogate 字組視為單一字元。 如需詳細資訊,請參閱 Collation and Unicode Support

範例

A:搭配資料行使用 RIGHT

下列範例會傳回 AdventureWorks2012 資料庫中每個人名字最右邊的五個字元。

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)