Поиск чисел
Для поиска чисел используется функция number().
Синтаксис
Для функции number() нет обязательных аргументов — при их отсутствии функция найдет все числа.
Пример
Аргументы тип_ограничения, аргумент_1 и аргумент_2 являются опциональными и позволяют искать числа в определенном диапазоне. Аргумент тип ограничения принимает одно из следующих значений:
Тип ограничения |
Синонимы |
Пояснение |
< |
less/lt |
число должно быть меньше значения аргумент_1 |
<= |
le/less or equal |
число должно быть меньше или равно значению аргумент_1 |
> |
gt/greater |
число должно быть больше значения аргумент_1 |
>= |
ge/greater or equal |
число должно быть больше или равно значению аргумент_1 |
= |
eq/equal |
число должно быть равно значению аргумент_1 |
!= |
ne/not equal |
число не должно быть равно значению аргумент_1 |
() |
bt/between |
число должно принадлежать интервалу (аргумент_1, аргумент_2) |
[] |
be/between or equal |
число должно принадлежать интервалу [аргумент_1, аргумент_2] |
(] |
lo/left-open |
число должно принадлежать интервалу (аргумент_1, аргумент_2] |
[) |
ro/right-open |
число должно принадлежать интервалу [аргумент_1, аргумент_2) |
Если тип ограничения записан математическими символами (см. первый столбец: >, (), !=, и т.д.), его необходимо заключить в кавычки. Если аргументы аргумент_1 или аргумент_2 принимают отрицательное значение, их также необходимо заключить в кавычки.
Пример
Функция также поддерживает опциональный именованный параметр allow_multiword. Если данная опция включена, составные числительные (сто пятьдесят, две тысячи триста двадцать) трактуются как единое целое и корректно преобразуются в число. Использование данной опции может привести к снижению скорости обработки запроса. По умолчанию опция выключена (allow_multiword:=no).
Пример
Чтобы найти целые числа, дроби или числа, записанные словами, можно использовать опциональный именованный параметр type, который может принимать следующие значения:
Значение |
Пояснение |
numeral |
числа в любом написании (например, 125, 713.446.9307, 1-ый и т.д.) |
digit |
числа, состоящие только из цифр (без запятых, точек, слешей и т.д.) |
word |
числа, записанные словами |
any |
числа, записанные как словами, так и цифрами (включая дроби) |
Чтобы перечислить несколько возможных типов числовой записи, их следует записать через «|», например, type:=digit|word.
Пример
Примечание
Функция number() ищет числа, записанные как цифрами, так и прописью.
Для поиска чисел, записанных только цифрами, можно также использовать запрос char(numeral, number()) или char(digit, number()).
Для поиска чисел, записанных только прописью, можно также использовать запрос char(alpha, number()).
Подробнее о функции char() см. в разделе «Поиск пунктуации и специальных символов».
Пример