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.
Sintaks
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
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 set hasilnya.
-----------
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 set hasilnya.
-----------
ABCÀƁƇ