No MariaDB,
ASCII()
é uma função de string interna que retorna o valor numérico ASCII do caractere mais à esquerda de seu argumento de string. O
ASCII()
função só funciona em caracteres de 8 bits. Para obter o código para caracteres multibyte, use o ORD()
função em vez disso. Sintaxe
A sintaxe fica assim:
ASCII(str)
Onde
str
é o argumento string. ASCII()
retornará o valor numérico ASCII apenas do mais à esquerda caractere desta string. Exemplo
Aqui está um exemplo simples para demonstrar:
SELECT ASCII('Maria');
Resultado:
+----------------+| ASCII('Maria') |+----------------+| 77 |+----------------+
Isso nos diz que a letra maiúscula
M
tem o valor numérico ASCII de 77
. Como mencionado,
ASCII()
retorna apenas o valor ASCII do mais à esquerda personagem. Portanto, o seguinte produz o mesmo resultado:SELECT ASCII('M');
Resultado:
+------------+| ASCII('M') |+------------+| 77 |+------------+
Para demonstrar isso ainda mais, vamos obter o valor numérico ASCII de cada letra na string acima:
SELECT
ASCII('M'),
ASCII('a'),
ASCII('r'),
ASCII('i'),
ASCII('a');
Resultado:
+------------+------------+------------+------- -----+------------+| ASCII('M') | ASCII('a') | ASCII('r') | ASCII('i') | ASCII('a') |+------------+------------+------------+--- ---------+------------+| 77 | 97 | 114 | 105 | 97 |+------------+------------+------------+-------- ----+------------+
Sensibilidade de maiúsculas e minúsculas
Letras maiúsculas têm um valor ASCII diferente de seus equivalentes minúsculos.
Exemplo:
SELECT
ASCII('M'),
ASCII('m');
Resultado:
+------------+------------+| ASCII('M') | ASCII('m') |+------------+----------------+| 77 | 109 |+------------+------------+
Um exemplo de banco de dados
Aqui está um exemplo de uso de
ASCII()
em uma consulta de banco de dados:USE PetHouse;
SELECT
PetName,
ASCII(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
Resultado:
+---------+-----------------------------------+ | PetName | Valor ASCII do caractere mais à esquerda |+---------+--------------------------------- --+| Fofo | 70 || Buscar | 70 || Raspe | 83 || Wag | 87 || Tweet | 84 || Fofo | 70 || Casca | 66 || Miau | 77 |+---------+-----------------------------------+Caractere mais à direita
Aqui, eu uso oRIGHT()
função para retornar o caractere mais à direita de cada nome de animal de estimação e, em seguida, usá-lo novamente com oASCII()
função para retornar o valor ASCII para esse caractere.
USE PetHouse; SELECT PetName, RIGHT(PetName, 1) 'Rightmost character', ASCII(RIGHT(PetName, 1)) 'ASCII code' FROM Pets;
Resultado:
+---------+---------------------+------------+| PetName | Caractere mais à direita | Código ASCII |+---------+---------------------+------------+| Fofo | e | 121 || Buscar | h | 104 || Raspe | h | 104 || Wag | g | 103 || Tweet | t | 116 || Fofo | e | 121 || Casca | k | 107 || Miau | w | 119 |+---------+---------------------+------------+Strings vazias
Fornecer uma string vazia resulta em0
sendo devolvido.
SELECT ASCII('');
Resultado:
+-----------+| ASCII('') |+-----------+| 0 |+-----------+Valores nulos
Fornecendonull
resulta emnull
sendo devolvido.
SELECT ASCII(null);
Resultado:
+-------------+| ASCII(nulo) |+-------------+| NULL |+-------------+