Função MySQL CHAR_LENGTH()

Resumo : neste tutorial, você aprenderá como usar a CHAR_LENGTH()função MySQL para obter o número de caracteres em uma string.

Introdução à função MySQL CHAR_LENGTH

A CHAR_LENGTH()função retorna o número de caracteres em uma string, independentemente do conjunto de caracteres usado.

Aqui está a sintaxe básica da CHAR_LENGTH()função:

CHAR_LENGTH(string)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe, stringé a string de entrada cujo comprimento de caracteres você deseja calcular.

Se a string for NULL, a CHAR_LENGTH()função retornará NULL.

Ao contrário da LENGTH()função que retorna o comprimento de uma string em bytes , ela CHAR_LENGTH()retorna o comprimento da string em caracteres .

Portanto, a CHAR_LENGTH()função pode ser útil quando você trabalha com conjuntos de caracteres multibyte como UTF-8.

Exemplos de funções CHAR_LENGTH do MySQL

Vejamos alguns exemplos de uso da CHAR_LENGTH()função.

1) Usando CHAR_LENGTH com exemplo de string de conjunto de caracteres de byte único

Um conjunto de caracteres de byte único representa cada caractere por um único byte. Portanto, a função retornará o mesmo resultado que a função, pois cada byte representa um caractere:CHAR_LENGTH()LENGTH()

SELECT 
  CHAR_LENGTH('Hello') AS character_count;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-----------------+
| character_count |
+-----------------+
|               5 |
+-----------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

2) Usando CHAR_LENGTH com exemplo de string de conjunto de caracteres multibyte

Um conjunto de caracteres multibyte pode usar vários bytes para representar cada caractere. No entanto, o CHAR_LENGTH()contador contará os caracteres numéricos com precisão em tais situações. Por exemplo:

SELECT 
  CHAR_LENGTH('Café') AS character_count;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-----------------+
| character_count |
+-----------------+
|               4 |
+-----------------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A consulta retorna 4porque a string Cafécontém quatro caracteres. Embora o 'é'caractere seja representado por dois bytes em UTF-8, a CHAR_LENGTH()função o conta como um único caractere.

3) Usando a função CHAR_LENGTH com exemplo de dados de tabela

Usaremos a productstabela do banco de dados de exemplo :

O exemplo a seguir usa a CHAR_LENGTH()função para retornar a contagem de caracteres das descrições dos produtos:

SELECT 
  productName, 
  CHAR_LENGTH(productDescription) descriptionLength 
FROM 
  products 
ORDER BY 
  descriptionLength;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+---------------------------------------------+-------------------+
| productName                                 | descriptionLength |
+---------------------------------------------+-------------------+
| 1928 British Royal Navy Airplane            |                28 |
| P-51-D Mustang                              |                45 |
| 1903 Ford Model A                           |                48 |
| 1904 Buick Runabout                         |                48 |
| 1930 Buick Marquette Phaeton                |                48 |
| 1999 Indy 500 Monte Carlo SS                |                54 |
| 1970 Triumph Spitfire                       |                57 |
| 1957 Chevy Pickup                           |                60 |
| F/A 18 Hornet 1/72                          |                60 |
| Boeing X-32A JSF                            |                60 |
| 1957 Vespa GS150                            |                64 |
| 1982 Ducati 996 R                           |                64 |
...Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Resumo

  • Use CHAR_LENGTH()a função MySQL para contar o número de caracteres em uma string, independentemente do conjunto de caracteres que está sendo usado no momento.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *