2011-09-16 1 views
1

Я просто хочу знать, содержит ли текст столбца базы данных доступа непечатаемые символы, такие как пробел, ввод и т. Д. заранее спасибо.Как найти непечатаемый символ в строке в базе данных доступа?

+0

Я удалил тег 'mysql' как несущественный. Кроме того, правильным тегом для вопросов о Microsoft Access (любая версия) является 'ms-access', а не' access'. –

ответ

2
SELECT * 
    FROM MyTable 
WHERE my_col ALIKE '%' & CHR$(0) & '%' 
     OR my_col ALIKE '%' & CHR$(1) & '%' 
     OR my_col ALIKE '%' & CHR$(2) & '%' 
     OR my_col ALIKE '%' & CHR$(3) & '%' 
     ... etc ... 
     OR my_col ALIKE '%' & CHR$(31) & '%'; 

Объяснение:

& является конкатенация (добавить) оператор для типов данных 'строка'. % - символ подстановки для использования с оператором ALIKE для соответствия одному или нескольким символам.

Например:

'CAT' ALIKE '%A%' 

... будет оценка true, потому что 'САТ' содержит символ 'A'.

Если мы искали печатаемые символы «A», «B» и «C» мы могли бы просто напечатать (печать) их непосредственно в коде, как символьные строки наряду с символами подстановки:

('CAT' ALIKE '%A%' 
    OR 'CAT' ALIKE '%B%' 
    OR 'CAT' ALIKE '%C%') 

. ..Actually мы могли бы использовать диапазон символов в квадратных скобках:

'CAT' ALIKE '%[A-C]%' 

в случае непечатных символов, мы должны использовать функцию CHR $() для их создания, но мы все еще можем использовать буквенные строки для подстановочные символы, которые помогают сделать код более удобочитаемым. Операторам конкатенации необходимо добавить литеральные строки к тем, которые генерируются с помощью вызовов функций.

+0

Он работает как шарм! Однако я не получаю синтаксис. Почему так много? – Rodrigo

Смежные вопросы