Соответствие подстановочных знаков



Таблица 8.7. Соответствие подстановочных знаков



Jet SQL

ANSI SQL

Примечание

?

(подчеркивание)

Любой одиночный символ

*

%

Произвольное количество символов

#

He имеет эквивалента

Любая цифра от 0 до 9

[список_знаков]

Не имеет эквивалента

Любой одиночный знак, входящий в

список знаков

[! список_знаков]

Не имеет эквивалента

Любой одиночный знак, не входящий в список знаков

Язык SQL Microsoft Jet поддерживает использование в операторе Like как подстановочных знаков ANSI SQL (_ и #), так и подстановочных знаков ядра Microsoft Jet (? и *). Однако подстановочные знаки ANSI SQL доступны только в режиме ANSI SQL-92, в противном случае они воспринимаются просто как строковые константы. И наоборот, в режиме ANSI SQL-92 подстановочные знаки Jet SQL трактуются как строковые константы. Таким образом, нельзя в одном запросе смешивать эти знаки.

Ниже перечислены важные правила установления совпадения оператором Like.

  • Восклицательный знак (!) в начале списка_знаков означает, что совпадение наступит, если в выражении будет найден любой знак, отсутствующий в списке. Восклицательный знак вне квадратных скобок соответствует самому себе.
  • Знак дефиса (-) можно использовать в начале (после восклицательного знака, если он есть) или в конце списка_знаков для установления соответствия с самим собой. В любом другом месте знак дефиса означает диапазон символов ANSI.
  • Если указан диапазон знаков, его границы должны следовать в возрастающем порядке (А— Я или 0—100). [А— Я] является правильным образцом, а [Я— А] — неправильным.
  • Квадратные скобки ([ ]) игнорируются; они рассматривается как пустая строка ("").


Содержание раздела