Как найти непечатаемый символ в строке в базе данных доступа? - PullRequest
1 голос
/ 16 сентября 2011

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

1 Ответ

2 голосов
/ 16 сентября 2011
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) & '%';

Объяснение:

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

Например:

'CAT' ALIKE '%A%'

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...