Como buscar registros que tenham somente caracteres maiúsculos no SQL

No artigo de hoje, iremos demonstrar em como identificar registros que estejam com seu conteúdo tudo em maiúsculo (ou pesquisar os que não estão) direto em uma query SQL.

Para realizarmos essa busca, nós precisamos ter o conteúdo todo em maiúsculo através da função UPPER.

Com isso em mente, para vermos se um conteúdo esta todo em Caixa Alta, basta testarmos se o campo é igual ao UPPER dele mesmo.

/* Busca somente o que esta maiúsculo */
SELECT
    B1_COD,
    B1_DESC
FROM
    SB1990 SB1
WHERE
    B1_DESC = UPPER(B1_DESC)
    AND SB1.D_E_L_E_T_ = ' '

Agora, se quisermos testar se o campo não esta em Caixa Alta, ai basta testar se o campo é diferente do UPPER dele.

/* Busca tudo que não esta maiúsculo*/
SELECT
    B1_COD,
    B1_DESC
FROM
    SB1990 SB1
WHERE
    B1_DESC != UPPER(B1_DESC)
    AND SB1.D_E_L_E_T_ = ' '

Abaixo um print pra ilustrar.

Exemplo das queries executadas

Obs.: Caso você queira fazer fazer os testes com tudo minúsculo (Caixa Baixa), substitua a função UPPER dos exemplos por LOWER.

Referencias:

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação