sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man returnerar Unicode-värdet för en given karaktär i SQL Server – UNICODE()

En av funktionerna som ingår i T-SQL är UNICODE() fungera. Du kan använda den här funktionen med SQL Server (och Azure) för att returnera Unicode-värdet för ett givet tecken.

Den här funktionen fungerar på samma sätt som ASCII() funktion, förutom att den returnerar Unicode-värdet.

Syntax

Här är den officiella syntaxen:

UNICODE ( 'ncharacter_expression' )

Där ncharacter_expression är en nchar eller nvarchar uttryck som du vill ha Unicode-värdet för.

Exempel

Så som ett exempel, om vi vill ta reda på Unicode-värdet för eurotecknet, kan vi göra så här:

SELECT UNICODE('€');

Resultat:

8364

Detta resultat visar att Unicode-värdet för eurotecknet är 8364.

Unicode vs ASCII

UNICODE() Funktionen fungerar på samma sätt som ASCII() funktion, men med undantaget att den returnerar Unicode-värdet i motsats till ASCII-värdet.

Observera att för de första 128 tecknen är ASCII- och Unicode-värdena desamma, och därför kommer dessa två funktioner att ge samma resultat för de första 128 tecknen. Men UNICODE() funktion kommer att fungera med ett mycket större antal tecken, på grund av ASCII-standardens begränsning på 128 tecken.

Här är ett exempel på ASCII() och UNICODE() fungerar sida vid sida:

SELECT UNICODE('A') AS Unicode, ASCII('A') AS ASCII;

Resultat:

Unicode  ASCII
-------  -----
65       65

Så vi kan se att de gav samma resultat i det här fallet. Detta beror på att bokstaven A faller inom intervallet för ASCII-koder (och ingår därför också inom Unicode-intervallet).


  1. Oracle lagrad procedur med parametrar för IN-sats

  2. MySQL:Hur kopierar man rader, men ändrar några fält?

  3. Hur kan jag kontrollera MySQL-motortypen för en specifik tabell?

  4. Slumpmässig post från en databastabell (T-SQL)