sql >> Databasteknik >  >> RDS >> Mysql

Hur man hittar ASCII-koden för en given karaktär i MySQL

I MySQL kan du använda ASCII() funktion för att returnera ASCII-koden för ett givet tecken. Mer specifikt returnerar den ASCII-koden för tecknet längst till vänster i en given sträng.

Du kan också använda ORD() , vilket fungerar på samma sätt, förutom att det också stöder multibyte-tecken.

Syntax

Här är syntaxen för ASCII() funktion:

ASCII(str)

Där str är strängen som du vill ha ASCII-koden för tecknet längst till vänster från.

Exempel

Här är ett exempel:

SELECT ASCII('Z');

Resultat:

+------------+
| ASCII('Z') |
+------------+
|         90 |
+------------+

Så vi kan se från detta exempel att den stora bokstaven Z har en ASCII-kod på 90.

Observera att det finns en annan ASCII-kod för stora bokstäver kontra gemener. Så för att få ASCII-koden för gemener z , skulle vi behöva tillhandahålla gemener z som argument:

SELECT ASCII('z');

Resultat:

+------------+
| ASCII('z') |
+------------+
|        122 |
+------------+

Och som nämnts returneras endast det tecknet längst till vänster:

SELECT ASCII('Zz');

Resultat:

+-------------+
| ASCII('Zz') |
+-------------+
|          90 |
+-------------+

Ett alternativ:ORD()-funktionen

Du kan också använda ORD() funktion för att returnera ASCII-värdet för ett tecken.

SELECT ORD('Z');

Resultat:

+----------+
| ORD('Z') |
+----------+
|       90 |
+----------+

Skillnaden mellan ASCII() och ORD() är det, ORD() kan också returnera värden för multibyte-tecken medan ASCII() är begränsad till bara ASCII-intervallet.


  1. Hur tar man bort dubbletter från utrymmesseparerad lista med Oracle regexp_replace?

  2. MySQL-grupp efter och beställ efter

  3. Hur listar jag tillägg installerade i en databas med psql?

  4. TypeError:'int'-objekt stöder inte indexering