sql >> Databasteknik >  >> RDS >> MariaDB

Hur ASCII() fungerar i MariaDB

I MariaDB, ASCII() är en inbyggd strängfunktion som returnerar det numeriska ASCII-värdet för tecknet längst till vänster i dess strängargument.

ASCII() Funktionen fungerar bara på 8 bitars tecken. För att få koden för multi-byte tecken, använd ORD() funktion istället.

Syntax

Syntaxen ser ut så här:

ASCII(str) 

Där str är strängargumentet.

ASCII() returnerar det numeriska ASCII-värdet för endast längst till vänster tecken i denna sträng.

Exempel

Här är ett enkelt exempel att visa:

SELECT ASCII('Maria'); 

Resultat:

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

Detta talar om för oss att den stora bokstaven M har det numeriska ASCII-värdet 77 .

Som nämnts, ASCII() returnerar endast ASCII-värdet för längst till vänster karaktär. Följande ger därför samma resultat:

SELECT ASCII('M'); 

Resultat:

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

För att demonstrera detta ytterligare, låt oss få det numeriska ASCII-värdet från varje bokstav i ovanstående sträng:

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 |+-------------+------------+-------------+-------- ----+------------+

Skaftkänslighet

Versaler har ett annat ASCII-värde än sina gemener.

Exempel:

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

Resultat:

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

Ett databasexempel

Här är ett exempel på hur du använder ASCII() i en databasfråga:

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

Resultat:

+--------+------------------------------------------+ | PetName | ASCII-värde för tecknet längst till vänster |+---------+---------------------------------------- --+| Fluffig | 70 || Hämta | 70 || Skrapa | 83 || Wag | 87 || Tweet | 84 || Fluffig | 70 || Bark | 66 || Mjau | 77 |+---------+--------------------------------------------+

Tecken längst till höger

Här använder jag RIGHT() funktion för att returnera tecknet längst till höger från varje husdjursnamn och använd det sedan igen med ASCII() funktion för att returnera ASCII-värdet för det tecknet.

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

Resultat:

+--------+---------------------+-----------+| PetName | Tecken längst till höger | ASCII-kod |+---------+---------------------+------------+| Fluffig | y | 121 || Hämta | h | 104 || Skrapa | h | 104 || Wag | g | 103 || Tweet | t | 116 || Fluffig | y | 121 || Bark | k | 107 || Mjau | w | 119 |+--------+---------------------+-----------+ 

Tömma strängar

Att tillhandahålla en tom sträng resulterar i 0 returneras.

SELECT ASCII(''); 

Resultat:

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

Nullvärden

Tillhandahåller null resulterar i null returneras.

SELECT ASCII(null); 

Resultat:

+-------------+| ASCII(null) |+-------------+| NULL |+-------------+

  1. Sträng till datum i Oracle med millisekunder

  2. Hur använder man Room Persistence Library med förifylld databas?

  3. Uppdaterar Salesforce från Oracle®

  4. PostgreSQL datum och tid funktioner