Como faço para verificar se um VARCHAR(MAX)
column
tem ASCII Control Characters
no SQL Server?
Especificamente, estou procurando a presença de arquivos 0x01
SOH
. Este código funcionará, ele é copiado de um exemplo onde eles verificam o LF
caractere, ou sejaCHAR(13)
SELECT * FROM notes where content LIKE '%' + CHAR(1) + '%';
De qualquer forma, gostaria de obter uma consulta genérica para todos os Control Characters
, em vez de uma codificação rígida como esta.
Bem, encontrei outros que poderiam ter perguntas semelhantes,
Antes de prosseguir... não se esqueça do Collation .
Isso por si só pode tornar sua vida um pesadelo. Se você tiver diferenças entre nível de servidor / nível de banco de dados / nível de coluna / nível de expressão, pode causar um comportamento estranho e resultados de consulta incorretos, se não forem gerenciados adequadamente.
Eu sugeriria uma expressão regex para encontrar o que você está procurando.
Encontrado em: Como comparar caracteres Unicode no servidor SQL?
Encontrado em: Como posso localizar caracteres Unicode/não ASCII em um campo NTEXT em uma tabela do SQL Server 2005? :
Alguma documentação da Microsoft: Correspondência de padrões em condições de pesquisa
E alternativamente: Pesquisar texto com expressões regulares
Na minha experiência com o mysql, existem funções incorporadas como esta:
Para começar, espero que isso ajude!