sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer ASCII() i MariaDB

I MariaDB, ASCII() er en indbygget strengfunktion, der returnerer den numeriske ASCII-værdi af tegnet længst til venstre i dets strengargument.

ASCII() Funktionen virker kun på 8 bit tegn. For at få koden til multi-byte tegn, brug ORD() funktion i stedet for.

Syntaks

Syntaksen ser sådan ud:

ASCII(str) 

Hvor str er strengargumentet.

ASCII() returnerer kun den numeriske ASCII-værdi for længst til venstre karakter af denne streng.

Eksempel

Her er et simpelt eksempel til at demonstrere:

SELECT ASCII('Maria'); 

Resultat:

+----------------+| ASCII('Maria') |+----------------+| 77 |+----------------+

Dette fortæller os, at det store bogstav M har den numeriske ASCII-værdi 77 .

Som nævnt, ASCII() returnerer kun ASCII-værdien for længst til venstre Karakter. Følgende giver derfor det samme resultat:

SELECT ASCII('M'); 

Resultat:

+-------------+| ASCII('M') |+------------+| 77 |+-------------+

For at demonstrere dette yderligere, lad os få den numeriske ASCII-værdi fra hvert bogstav i ovenstående streng:

SELECT 
    ASCII('M'),
    ASCII('a'),
    ASCII('r'),
    ASCII('i'),
    ASCII('a'); 

Resultat:

+------------+----------------+------- -----+------------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+----------------------------- -----------+------------+| 77 | 97 | 114 | 105 | 97 |+------------+------------------- ----+------------+

Skrivar og bogstaver

Store bogstaver har en anden ASCII-værdi end deres små bogstaver.

Eksempel:

SELECT 
    ASCII('M'),
    ASCII('m'); 

Resultat:

+------------+------------+| ASCII('M') | ASCII('m') |+------------+------------+| 77 | 109 |+---------+------------+

Et databaseeksempel

Her er et eksempel på brug af ASCII() i en databaseforespørgsel:

USE PetHouse;
SELECT 
  PetName, 
  ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets; 

Resultat:

+--------+-------------------------------------------+ | Kæledyrsnavn | ASCII-værdi for tegn længst til venstre |+---------+---------------------------------------- --+| Fluffy | 70 || Hent | 70 || Ridse | 83 || Wag | 87 || Tweet | 84 || Fluffy | 70 || Bark | 66 || Mjav | 77 |+---------+--------------------------------------------+

Lyst til højre

Her bruger jeg RIGHT() funktion til at returnere tegnet længst til højre fra hvert kæledyrsnavn og derefter bruge det igen med ASCII() funktion for at returnere ASCII-værdien for det pågældende tegn.

USE PetHouse;
SELECT 
  PetName,
  RIGHT(PetName, 1) 'Rightmost character',
  ASCII(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets; 

Resultat:

+--------+---------------------+-----------+| Kæledyrsnavn | Tegn længst til højre | ASCII-kode |+--------+----------------------+-----------+| Fluffy | y | 121 || Hent | h | 104 || Ridse | h | 104 || Wag | g | 103 || Tweet | t | 116 || Fluffy | y | 121 || Bark | k | 107 || Mjav | w | 119 |+--------+----------------------+-----------+ 

Tomme strenge

Angivelse af en tom streng resulterer i 0 bliver returneret.

SELECT ASCII(''); 

Resultat:

+------------+| ASCII('') |+------------+| 0 |+-----------+

Nul-værdier

Giver null resulterer i null bliver returneret.

SELECT ASCII(null); 

Resultat:

+--------------+| ASCII(nul) |+-------------+| NULL |+-------------+

  1. DATETIMEFROMPARTS() Eksempler i SQL Server (T-SQL)

  2. YEAR() Eksempler i SQL Server (T-SQL)

  3. Udvikling af fejltolerance i PostgreSQL:Synchronous Commit

  4. PostgreSQL:Deaktiver midlertidigt forbindelser