Sdílet prostřednictvím


ASCII (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí hodnotu ASCII kódu nejlevějšího znaku znakového výrazu.

Transact-SQL konvence syntaxe

Syntaxe

ASCII ( character_expression )  

Arguments

character_expression
Výraz typu char nebo varchar.

Návratové typy

int

Poznámky

ASCII znamená American Standard Code pro Information Interchange. Slouží jako standard pro kódování znaků pro moderní počítače. Seznam ASCII znaků najdete v sekci Tisknutelné znakyv ASCII .

ASCII je 7bitová znaková sada. Rozšířené ASCII nebo High ASCII je 8bitová znaková sada, kterou funkce nezpracovává.ASCII

Examples

A. Tento příklad předpokládá ASCII znakovou sadu a vrací ASCII hodnotu pro 6 znaků.

SELECT ASCII('A') AS A, ASCII('B') AS B,   
ASCII('a') AS a, ASCII('b') AS b,  
ASCII(1) AS [1], ASCII(2) AS [2];  

Tady je soubor výsledků.

A           B           a           b           1           2  
----------- ----------- ----------- ----------- ----------- -----------  
65          66          97          98          49          50  

B. Tento příklad ukazuje, jak je 7bitová ASCII hodnota vrácena správně, ale 8bitová hodnota Extended ASCII není zpracována.

SELECT ASCII('P') AS [ASCII], ASCII('æ') AS [Extended_ASCII];

Tady je soubor výsledků.

ASCII       Extended_ASCII
----------- --------------
80          195

Pro ověření, zda výše uvedené výsledky odpovídají správnému kódovému bodu, použijte výstupní hodnoty s CHAR funkcí OR NCHAR :

SELECT NCHAR(80) AS [CHARACTER], NCHAR(195) AS [CHARACTER];

Tady je soubor výsledků.

CHARACTER CHARACTER
--------- ---------
P         Ã

Z předchozího výsledku si všimněte, že znak pro kód 195 je à a ne æ. Je to proto, že ASCII funkce dokáže číst první 7bitový proud, ale ne ten přebytk. Správný kódový bod pro znak æ lze najít pomocí UNICODE funkce, která je schopna nebo vrátit správný kódový bod znaku:

SELECT UNICODE('æ') AS [Extended_ASCII], NCHAR(230) AS [CHARACTER];

Tady je soubor výsledků.

Extended_ASCII CHARACTER
-------------- ---------
230            æ

Viz také

ZNAK (Transact-SQL)
NCHAR (Transact-SQL)
UNICODE (Transact-SQL)
řetězcové funkce (Transact-SQL)