No MySQL, o
ORD()
A função retorna o valor numérico do caractere mais à esquerda de uma determinada string. Você fornece a string como um argumento. Se o caractere mais à esquerda for um caractere multibyte, o valor retornado será calculado a partir dos valores numéricos de seus bytes constituintes. Se o caractere mais à esquerda não for um caractere multibyte, o valor de retorno será seu código ASCII (que é o mesmo resultado de usar o
ASCII()
função). Sintaxe
A sintaxe fica assim:
ORD(str)
Onde
str
é a string da qual você deseja o código numérico do caractere mais à esquerda. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar.
SELECT ORD('MySQL');
Resultado:
+----------------+ | ASCII('MySQL') | +----------------+ | 77 | +----------------+
Assim, podemos ver que o numérico para a letra M é 77 . Este é exatamente o mesmo resultado que obteríamos se usássemos o
ASCII()
função, porque a letra M está dentro do intervalo ASCII. Aqui está um exemplo com as duas funções lado a lado:
SELECT ASCII('M'), ORD('M');
Resultado:
+------------+----------+ | ASCII('M') | ORD('M') | +------------+----------+ | 77 | 77 | +------------+----------+
Exemplo 2 – Caracteres multibyte
Aqui está um exemplo que usa caracteres multibyte.
SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('✓');
Resultado:
+------------+-----------+------------+------------+------------+ | ORD('€') | ORD('á') | ORD('仮') | ORD('平') | ORD('✓') | +------------+-----------+------------+------------+------------+ | 14844588 | 50081 | 14990254 | 15055283 | 14851219 | +------------+-----------+------------+------------+------------+
Exemplo 2 – Sensibilidade entre maiúsculas e minúsculas
Caracteres maiúsculos têm um valor numérico diferente de suas contrapartes minúsculas. Exemplo:
SELECT ORD('A'), ORD('a');
Resultado:
+----------+----------+ | ORD('A') | ORD('a') | +----------+----------+ | 65 | 97 | +----------+----------+