Neste tutorial, veremos como usar as funções MySQL predefinidas para determinar o comprimento de uma string.
O básico
Sem mergulhar profundamente em conjuntos de personagens, o MySQL suporta uma ampla seleção de conjuntos de personagens. Cada conjunto de caracteres contém um comprimento máximo de bytes que pode armazenar por caractere.
Para saber mais sobre o conjunto de caracteres suportado e seu comprimento máximo, use o recurso fornecido abaixo:
https: // dev.mysql.com/doc/refman/8.0/en/charset-charsets.html
No MySQL, uma string pode estar em qualquer um dos conjuntos de personagens suportados. Para determinar o comprimento de uma string, você pode usar o método bytes ou o método do caractere.
O método bytes retorna o comprimento da string especificada em bytes. Se uma string contiver um conjunto de caracteres de 1 byte, o comprimento da string será igual ao número de caracteres.
No entanto, se a string especificada contiver caracteres multi-bytes, o número de caracteres não será igual ao comprimento da string.
Usando o MySQL caractere_length ()
Para obter o comprimento de uma string nos caracteres, você pode usar a função caractere_length (). Esta função é um sinônimo da função char_length (). Funciona contando o número de caracteres em uma string, independentemente de ser um personagem de byte ou multi-bytes.
Vamos levar a tabela de campo no banco de dados Sakila. Para obter a duração das cordas do nome do país, podemos usar uma consulta como:
Selecione país, char_length (país) como comprimentoA consulta acima deve retornar a duração dos nomes dos países.
Usando o comprimento MySQL ()
Para obter o comprimento de uma corda em bytes, usamos a função Length (). Nesse caso, a função leva em consideração se é um personagem de byte ou multibyte.
Podemos aplicar o exemplo acima, conforme mostrado na consulta abaixo:
Selecione país, comprimento (país) como comprimentoNeste exemplo, os valores estão em bytes em vez de caracteres. Como os exemplos acima usam caracteres de bytes, você pode não notar a diferença.
No entanto, em um caráter de vários bytes como o valor kanji para o país, os valores são diferentes.
Considere a consulta abaixo:
Selecione char_length ('' ') como comprimento_in_char;Depois de executar a consulta acima, devemos obter o comprimento como 1.
+----------------+Considere a mesma consulta usando a função Length ().
Selecione comprimento ('' ') como comprimento_in_bytes;Nesse caso, o comprimento é 3.
+-----------------+Conclusão
Este guia mostrou como usar as funções MySQL integradas para obter o comprimento de uma string em bytes e caracteres.
Obrigado pela leitura!