Bagikan melalui


UNISTR (Transact-SQL)

Berlaku untuk: Azure SQL Database

UNISTR menyediakan dukungan untuk literal string Unicode dengan memungkinkan Anda menentukan nilai pengodean Karakter Unicode dalam string. UNISTR mengembalikan karakter Unicode, seperti yang didefinisikan oleh standar Unicode, untuk ekspresi input.

Urutan escape untuk karakter Unicode dapat ditentukan dalam bentuk \xxxx atau \+xxxxxx, di mana xxxx merupakan nilai codepoint UTF-16 yang valid, dan xxxxxx merupakan nilai codepoint Unicode yang valid. Anda dapat mencari nilai codepoint Unicode di Bagan Kode Unicode.

Konvensi sintaks transact-SQL

Sintaksis

UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

'character_expression'

Ekspresi jenis karakter apa pun, seperti karakter, nchar, varchar, atau nvarchar. Untuk jenis data char dan varchar , kolase harus menjadi kolase UTF-8 yang valid.

N'unicode_escape_character'

Satu karakter yang mewakili urutan escape Unicode yang ditentukan pengguna. Jika tidak disediakan, nilai defaultnya adalah \.

Jenis yang dikembalikan

Nilai string yang panjang dan jenisnya bergantung pada jenis input.

Contoh

J. Menggunakan fungsi UNISTR vs NCHAR

Contoh berikut semuanya menggunakan UNISTR fungsi untuk melakukan konversi nilai Unicode yang diperlukan menjadi kumpulan karakter string, untuk menampilkan karakter unicode Tersenyum Wajah Dengan Mulut Terbuka. Kolase database harus merupakan kolase UTF-8 jika inputnya adalah jenis data karakter atau varchar .

Menggunakan UNISTR dan NCHAR:

SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);

Contoh sampel ini juga dapat ditulis:

SELECT UNISTR(N'Hello! \D83D\DE00');

SELECT UNISTR(N'Hello! \+01F603');

Berikut adalah hasil yang ditetapkan.

-----------
Hello! 😃

B. Menggunakan fungsi UNISTR dengan karakter escape yang ditentukan pengguna

Contoh berikut menggunakan UNISTR fungsi dengan karakter escape kustom untuk melakukan konversi Unicode yang diperlukan menjadi kumpulan karakter string.

SELECT UNISTR(N'ABC#00C0#0181#0187', '#');

Berikut adalah hasil yang ditetapkan.

-----------
ABCÀƁƇ