sql >> Database >  >> RDS >> Sqlserver

Hoe de CHAR()-functie werkt in SQL Server (T-SQL)

In SQL Server is de T-SQL CHAR() functie converteert een int ASCII-code naar een tekenwaarde. Met andere woorden, u geeft een geheel getal door en de functie interpreteert het als de codewaarde voor een tekenreeks en retourneert het bijbehorende tekenreeksteken.

Syntaxis

De syntaxis gaat als volgt:

CHAR ( integer_expression )

Waar integer_expression is een geheel getal van 0 tot en met 255.

Als u een geheel getal opgeeft buiten dit bereik, is het resultaat NULL . Hetzelfde geldt als u een geheel getal opgeeft dat alleen de eerste byte van een dubbelbyteteken uitdrukt.

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld om het basisgebruik te demonstreren:

SELECT CHAR(67) AS 'Result';

Resultaat:

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

Dus als we het gehele getal veranderen, krijgen we een ander teken:

SELECT CHAR(255) AS 'Result';

Resultaat:

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

Voorbeeld 2 – Meerdere gehele getallen

Deze functie ondersteunt niet meerdere gehele getallen als argumenten. Als u meerdere gehele getallen opgeeft, krijgt u een foutmelding.

Hier is een voorbeeld:

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

Resultaat:

The char function requires 1 argument(s).

Merk op dat dit in tegenstelling is tot MySQL's CHAR() functie (waarmee u meerdere gehele getallen kunt opgeven).

Voorbeeld 3 – Gehele getallen buiten bereik

Deze functie ondersteunt ook geen gehele getallen buiten het bereik van 1 tot 255. Als uw argument buiten dit bereik valt, is het resultaat NULL .

Hier is een voorbeeld:

SELECT CHAR(256) AS 'Result';

Resultaat:

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

Dit is weer in tegenstelling tot MySQL's CHAR() functie, die gehele getallen groter dan 255 accepteert (in dat geval worden ze automatisch geconverteerd naar meerdere resultaatbytes).

Voorbeeld 4 – Controletekens invoegen

Hier is een voorbeeld van het gebruik van CHAR(13) volgende tekens op een nieuwe regel afdrukken:

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

Resultaat:

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

Zo ziet het eruit als we de CHAR(13) . verwijderen :

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

Resultaat:

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

  1. Hoe kan ik een groot (14 GB) MySQL-dumpbestand in een nieuwe MySQL-database importeren?

  2. T-SQL-subquery Max (datum) en joins

  3. Hoe lege spaties in null-waarden om te zetten met behulp van SQL Server?

  4. Hoofdletterongevoelige unieke modelvelden in Django?