Една от функциите, включени в T-SQL, е UNICODE()
функция. Можете да използвате тази функция със SQL Server (и Azure), за да върнете Unicode стойността на даден знак.
Тази функция работи подобно на ASCII()
функция, с изключение на това, че връща стойността на Unicode.
Синтаксис
Ето официалния синтаксис:
UNICODE ( 'ncharacter_expression' )
Където израз на_знак е nchar или nvarchar израз, за който искате Unicode стойността.
Пример
Така че като пример, ако искаме да разберем стойността на Unicode за знака за евро, можем да направим това:
SELECT UNICODE('€');
Резултат:
8364
Този резултат ни показва, че Unicode стойността за евро знака е 8364.
Unicode срещу ASCII
UNICODE()
функцията работи подобно на ASCII()
функция, но с изключението, че връща стойността на Unicode, за разлика от стойността на ASCII.
Имайте предвид, че за първите 128 знака стойностите на ASCII и Unicode са еднакви и следователно тези две функции ще дадат едни и същи резултати за първите 128 знака. Въпреки това, UNICODE()
функцията ще работи с много по-голям обхват от знаци, поради ограничението от 128 знака на стандарта ASCII.
Ето пример за ASCII()
и UNICODE()
функции една до друга:
SELECT UNICODE('A') AS Unicode, ASCII('A') AS ASCII;
Резултат:
Unicode ASCII ------- ----- 65 65
Така че можем да видим, че те са върнали същия резултат в този случай. Това се дължи на факта, че буквата A
попада в обхвата на ASCII кодовете (и следователно също е включен в обхвата на Unicode).