Jednou z funkcí obsažených v T-SQL je UNICODE()
funkce. Tuto funkci můžete použít se serverem SQL Server (a Azure) k vrácení hodnoty Unicode daného znaku.
Tato funkce funguje podobně jako ASCII()
funkce, kromě toho, že vrací hodnotu Unicode.
Syntaxe
Zde je oficiální syntaxe:
UNICODE ( 'ncharacter_expression' )
Kde ncharacter_expression je nchar nebo nvarchar výraz, pro který chcete hodnotu Unicode.
Příklad
Takže jako příklad, pokud bychom chtěli zjistit hodnotu Unicode pro znak Euro, mohli bychom udělat toto:
SELECT UNICODE('€');
Výsledek:
8364
Tento výsledek nám ukazuje, že hodnota Unicode pro znak Euro je 8364.
Unicode vs ASCII
UNICODE()
funguje podobně jako ASCII()
funkce, ale s tou výjimkou, že vrací hodnotu Unicode na rozdíl od hodnoty ASCII.
Všimněte si, že pro prvních 128 znaků jsou hodnoty ASCII a Unicode stejné, a proto tyto dvě funkce poskytnou stejné výsledky pro prvních 128 znaků. Nicméně UNICODE()
funkce bude pracovat s mnohem větším rozsahem znaků kvůli omezení 128 znaků standardu ASCII.
Zde je příklad ASCII()
a UNICODE()
funkce vedle sebe:
SELECT UNICODE('A') AS Unicode, ASCII('A') AS ASCII;
Výsledek:
Unicode ASCII ------- ----- 65 65
Takže vidíme, že v tomto případě vrátili stejný výsledek. To je způsobeno tím, že písmeno A
spadá do rozsahu ASCII kódů (a proto je také zahrnut do rozsahu Unicode).