Uma função que retorna o número de caracteres em uma expressão.
CHARACTER_LENGTH retorna um valor inteiro representando
o número de caracteres, não o número de bytes, na expressão especificada. A expressão pode ser uma
string ou qualquer outro tipo de dados, como um campo numérico ou de fluxo de dados. Esta contagem inteira retornou
incluindo espaços em branco iniciais e finais e o caractere de terminação de string. CHARACTER_LENGTH retorna NULL se for passado um valor NULL,
e 0 se for passado um valor de string vazio ('').
Os números são analisados ​​​​para canônicos
formulário antes de contar os caracteres; cadeias de números entre aspas
não são analisados. No exemplo a seguir, o primeiro CHARACTER_LENGTH retorna 1 (porque a análise de números remove zeros à esquerda e à direita),
o segundo CHARACTER_LENGTH retorna 8.
SELECIONE CHARACTER_LENGTH(007.0000) COMO NumLen,
CHARACTER_LENGTH('007.0000') AS NumStringLen
As funções CHARACTER_LENGTH, CHAR_LENGTH e DATALENGTH são idênticas. Todos
deles aceitam um argumento de campo de fluxo.
As funções LENGTH e $LENGTH
não aceite um argumento de campo de fluxo.
LENGTH também difere dessas funções
removendo os espaços em branco e o caractere de terminação de string
antes de contar caracteres. $LENGTH também difere
dessas funções porque retorna 0 se for passado um valor NULL,
e 0 se for passada uma string vazia.
O exemplo a seguir retorna o número de caracteres no
campo de abreviação de estado (Home_State) na tabela Sample.Employee.
(Todos os estados dos EUA têm uma abreviatura postal de duas letras):
SELECIONE DISTINCT CHARACTER_LENGTH(Home_State) AS StateLength
O exemplo a seguir retorna os nomes dos funcionários e
o número de caracteres em cada nome de funcionário, ordenados em ordem crescente
número de caracteres:
CHARACTER_LENGTH(Nome) AS NomeComprimento
ORDENAR POR NomeComprimento
Os exemplos a seguir retornam o número de caracteres em um
campo de fluxo de caracteres (Notas) e um campo de fluxo binário (Imagem)
na tabela Sample.Employee:
SELECT DISTINCT CHARACTER_LENGTH(Notas) AS NoteLen
DE Sample.Employee ONDE Notas NÃO É NULO
SELECIONE DISTINCT CHARACTER_LENGTH(Imagem) COMO PicLen
DE Sample.Employee ONDE A imagem NÃO É NULA
O exemplo a seguir demonstra como CHARACTER_LENGTH trata caracteres Unicode. CHARACTER_LENGTH conta o número de caracteres, independentemente do comprimento em bytes: