UNISTR (Transact-SQL)
適用於:Azure SQL 資料庫
UNISTR
可讓您在字串中指定字元的 Unicode 編碼值,以提供 Unicode 字串常值的支援。 UNISTR
會傳回輸入表達式的 Unicode 字元,如 Unicode 標準所定義。
Unicode 字元的逸出序列可以用 或 \+xxxxxx
的形式\xxxx
指定,其中 xxxx
是有效的UTF-16字碼點值,而 xxxxxx
是有效的Unicode字碼點值。 您可以在 Unicode 程式代碼圖表中查閱 Unicode 程式代碼點值。
Syntax
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
注意
若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件。
引數
'character_expression'
任何字元類型的運算式,例如 char、nchar、varchar 或 nvarchar。 針對 char 和 varchar 數據類型,定序應該是有效的 UTF-8 定序。
N'unicode_escape_character'
單一字元,表示用戶定義的 Unicode 逸出序列。 如果未提供預設值為 \
。
傳回類型
長度和型別相依於輸入類型的字串值。
範例
A. 使用 UNISTR 與 NCHAR 函式
下列範例全都使用 函 UNISTR
式來執行將 Unicode 值轉換成字元串字元集的必要轉換,以顯示 Unicode 字元笑臉與開放式嘴。 如果輸入是 char 或 varchar 數據類型,資料庫定序必須是 UTF-8 定序。
使用 UNISTR
與 NCHAR
:
SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);
這個範例也可以撰寫:
SELECT UNISTR(N'Hello! \D83D\DE00');
SELECT UNISTR(N'Hello! \+01F603');
以下為結果集。
-----------
Hello! 😃
B. 搭配使用者定義逸出字元使用 UNISTR 函式
下列範例會使用 UNISTR
具有自定義逸出字元的 函式,將 Unicode 轉換成字串字元集的必要轉換。
SELECT UNISTR(N'ABC#00C0#0181#0187', '#');
以下為結果集。
-----------
ABCÀƁƇ