Como filtrar um -Enter- em uma query SQL

No artigo de hoje, vamos demonstrar em como filtrar um -Enter- dentro de uma query SQL (principalmente para campos MEMO do Protheus).

Para podermos filtrar um campo -Enter- em uma query, existem algumas particularidades, mas vamos considerar que estamos utilizando o sistema operacional Windows e o banco SQL Server.

Para esse cenário acima, o -Enter- é composto por dois caracteres, o 13 e o 10 (Carriage Return e Line Feed respectivamente ou CRLF para os íntimos rs).

Sabendo dessa informação o que temos que fazer é:

  1. Fazer uma query SQL
  2. No Where dela, filtrar o campo que contém os textos (como um campo MEMO)
  3. No filtro, utilizar LIKE e filtrar os dois caracteres do -Enter- o 13 e o 10

Abaixo o exemplo da Query:

SELECT
    B1_COD,
    ISNULL(CAST(CAST(B1_X_TESTE AS VARBINARY(8000)) AS VARCHAR(8000)),'') AS OBS
FROM
    SB1010 SB1
WHERE
    ISNULL(CAST(CAST(B1_X_TESTE AS VARBINARY(8000)) AS VARCHAR(8000)),'') LIKE '%' + CHAR(13) + CHAR(10) + '%'

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