sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan fungerer CHAR()-funktionen i SQL Server (T-SQL)

I SQL Server, T-SQL CHAR() funktion konverterer en int ASCII-kode til en tegnværdi. Med andre ord, du indtaster et heltal, og funktionen fortolker det som kodeværdien for et strengtegn og returnerer det tilsvarende strengtegn.

Syntaks

Syntaksen ser sådan ud:

CHAR ( integer_expression )

Hvor integer_expression er et heltal fra 0 til 255.

Hvis du angiver et heltal uden for dette interval, er resultatet NULL . Det samme gælder, hvis du angiver et heltal, der kun udtrykker den første byte af et dobbeltbytetegn.

Eksempel 1 – Grundlæggende brug

Her er et eksempel for at demonstrere den grundlæggende brug:

SELECT CHAR(67) AS 'Result';

Resultat:

+----------+
| Result   |
|----------|
| C        |
+----------+

Så hvis vi ændrer heltal, får vi et andet tegn:

SELECT CHAR(255) AS 'Result';

Resultat:

+----------+
| Result   |
|----------|
| ÿ        |
+----------+

Eksempel 2 – Flere heltal

Denne funktion understøtter ikke flere heltal som argumenter. Hvis du angiver flere heltal, får du en fejl.

Her er et eksempel:

SELECT CHAR(67, 255) AS 'Result';

Resultat:

The char function requires 1 argument(s).

Bemærk, at dette er i modsætning til MySQL's CHAR() funktion (som giver dig mulighed for at angive flere heltal).

Eksempel 3 – Heltal uden for rækkevidde

Denne funktion understøtter heller ikke heltal uden for intervallet 1 til 255. Hvis dit argument er uden for dette interval, er resultatet NULL .

Her er et eksempel:

SELECT CHAR(256) AS 'Result';

Resultat:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Dette er igen i modsætning til MySQL's CHAR() funktion, som accepterer heltal større end 255 (i så fald konverteres de automatisk til flere resultatbytes).

Eksempel 4 – Indsættelse af kontroltegn

Her er et eksempel på brug af CHAR(13) for at udskrive efterfølgende tegn på en ny linje:

SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';

Resultat:

+--------------+
| Name/Email   |
|--------------|
| Homer
[email protected]              |
+--------------+

Sådan ser det ud, hvis vi fjerner CHAR(13) :

SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';

Resultat:

+--------+-----------------------+
| Name   | Email                 |
|--------+-----------------------|
| Homer  | [email protected] |
+--------+-----------------------+

  1. Forstå MySQL TRUNCATE TABLE ved hjælp af praktiske eksempler

  2. ORA-12560:TNS:protokoladapterfejl

  3. Beregnet kolonne i EF-kode først

  4. Hent ID'et for en indsat post:Php &MS SQL SERVER