sql >> Databáze >  >> RDS >> MariaDB

Jak funguje ASCII() v MariaDB

V MariaDB, ASCII() je vestavěná řetězcová funkce, která vrací číselnou hodnotu ASCII znaku zcela vlevo v argumentu řetězce.

ASCII() funkce funguje pouze na 8bitových znacích. Chcete-li získat kód pro vícebajtové znaky, použijte ORD() místo toho.

Syntaxe

Syntaxe vypadá takto:

ASCII(str) 

Kde str je argument řetězce.

ASCII() vrátí číselnou hodnotu ASCII pouze zcela vlevo znak tohoto řetězce.

Příklad

Zde je jednoduchý příklad k demonstraci:

SELECT ASCII('Maria'); 

Výsledek:

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

To nám říká, že velké písmeno M má číselnou hodnotu ASCII 77 .

Jak již bylo zmíněno, ASCII() vrátí pouze hodnotu ASCII zcela vlevo charakter. Proto následující způsobí stejný výsledek:

SELECT ASCII('M'); 

Výsledek:

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

Abychom to dále demonstrovali, získáme číselnou hodnotu ASCII z každého písmene ve výše uvedeném řetězci:

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

Výsledek:

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

Rozlišovat malá a velká písmena

Velká písmena mají jinou hodnotu ASCII než jejich malé ekvivalenty.

Příklad:

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

Výsledek:

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

Příklad databáze

Zde je příklad použití ASCII() v databázovém dotazu:

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

Výsledek:

+---------+-----------------------------------+ | Jméno mazlíčka | Hodnota ASCII znaku zcela vlevo |+---------+--------------------------------- --+| Načechraný | 70 || Načíst | 70 || Škrábnout | 83 || Wag | 87 || Tweet | 84 || Načechraný | 70 || Kůra | 66 || Mňau | 77 |+---------+-----------------------------------+ 

Znak zcela vpravo

Zde používám RIGHT() funkci vrátit znak úplně vpravo z každého jména domácího mazlíčka a poté jej znovu použít s ASCII() funkce vrátí hodnotu ASCII pro daný znak.

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

Výsledek:

+---------+---------------------+------------+| Jméno mazlíčka | Znak zcela vpravo | ASCII kód ​​|+---------+---------------------+------------+| Načechraný | y | 121 || Načíst | h | 104 || Škrábnout | h | 104 || Wag | g | 103 || Tweet | t | 116 || Načechraný | y | 121 || Kůra | k | 107 || Mňau | w | 119 |+---------+---------------------+------------+ 

Prázdné řetězce

Poskytnutí prázdného řetězce má za následek 0 se vrací.

SELECT ASCII(''); 

Výsledek:

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

Nulové hodnoty

Poskytování null výsledkem je null se vrací.

SELECT ASCII(null); 

Výsledek:

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

  1. Jak používat parametr s LIKE v SQL Server Compact Edition

  2. OBJECTPROPERTY() vs OBJECTPROPERTYEX() v SQL Server:Jaký je rozdíl?

  3. PostgreSQL smaže veškerý obsah

  4. Vyberte číslo řádku v postgresu