Конструкции языка запросов
Операторы сравнения
| Описание | Оператор | Синонимы | Пример |
|---|---|---|---|
| Равенство | = | ==, IS | login = "ivanov" |
| Неравенство | != | IS NOT | login != "ivanov" |
| Проверка на отсутствие значения | IS NULL | — | login IS NULL |
| Проверка на наличие значения | IS NOT NULL | — | login IS NOT NULL |
| Больше | > | — | age > 18 |
| Больше или равно | >= | — | age >= 18 |
| Меньше | < | — | age < 21 |
| Меньше или равно | <= | — | age <= 21 |
| Входит в список | IN | — | login IN ["ivanov", "ivanov2"] |
| Не входит в список | NOT IN | — | login NOT IN ["ivanov", "ivanov2"] |
Логические операторы
| Описание | Оператор | Синонимы | Пример |
|---|---|---|---|
| И (логическое умножение) | && | AND | age > 18 && age < 21 |
| ИЛИ (логическое сложение) | || | OR | age >= 18 || age <= 21 |
| НЕ (логическое отрицание) | ! | NOT | !hasEmail, NOT (country = "RU" && age < 18) |
| Группировка выражений | ( ) | — | country = "US" && (age < 21 || age > 65) |
Операторы поиска
Wildcard-поиск
Для нечёткого поиска используется символ *
Пример:
login = "ivanov*"
Найдутся логины, начинающиеся с "ivanov", например "ivanov1", "ivanov_test"
Обращение к полям с пробелами в названии
Имена полей, содержащие пробелы, заключаются в кавычки
Пример:
"login suffix" = "*@company.com"
Экранирование специальных символов
Для экранирования специальных символов используется обратный слэш \
| Символ | Экранирование | Пример использования |
|---|---|---|
| Двойная кавычка | \" | message = "Ошибка: \"Нет доступа\"" |
| Обратный слэш | \\ | path = "C:\\logs\\app.log" |
| Прямой слэш | \/ | url = "https:\/\/example.com" |
| Пробел | \b | message = "exec\b()" |
| Перевод страницы | \f | message = "event\fend" |
| Перевод строки | \n | message = "Login failed\nIP: 192.168.1.10" |
| Возврат каретки | \r | message = "alert triggered\ruser=admin" |
| Табуляция | \t | message = "admin\tsuccess" |
| Unicode-символ | \uXXXX | user = "\u041Fетров" (где \u041F = "П") |