Сравнение
Выражение сравнения сравнивает два выражения (операнда) и возвращает логическое значение в соответствии с оператором.
Синтаксис
Список принятых обозначений
В данном разделе при описании выражений приняты следующие обозначения:
-
Элементы выражений разделены тильдой.
-
Круглые скобки служат для группировки элементов выражения.
-
Если в выражении используется литерал скобок или других символов, они заключаются в кавычки:
"("."NEWLINE"обозначает перевод строки. -
Квантификаторы после элементов и групп обозначают количество повторений:
-
?— элемент необязателен, может отсутствовать в выражении; -
+— элемент обязателен и может повторяться в выражении несколько раз; -
*— элемент может отсутствовать или повторяться несколько раз.
-
expression ~ operator ~ expression
| Элемент | Описание |
|---|---|
|
Операнд может быть любым выражением, которое возвращает тип, допустимый для оператора. |
|
Оператор определяет операцию, выполняемую над операндами слева и справа:
|
| Используйте VRL-песочницу, чтобы проверить работу программы. |
Равенство и неравенство
Операторы == и != предназначены для сравнения между собой любых значений. Числовые значения разных типов могут быть равными, другие значения считаются равными, только если относятся к одному типу.
Примеры равенства и неравенства
Пример равенства чисел
1 == 1.0
true
Пример неравенства чисел
2 * 2 != 5
true
Пример сравнения объектов
{"key1": "value1", "key2": "value2"} == {"key2": "value2", "key1": "value1"}
true
Пример сравнения пустых значений
null == null
true
Пример сравнения значений разных типов
2 == "2"
false
Сравнение порядка
Операторы сравнения >, <, >= и <= применимы только к числам, строкам и меткам времени.
При сравнении строк используется лексикографический порядок, где символы сравниваются последовательно, на основе их номеров в таблице Unicode.
При сравнении меток времени большими считаются метки более поздней даты.
Примеры сравнения порядка
Примеры сравнения чисел
| Оператор | Исходный код | Результат |
|---|---|---|
Больше или равно |
|
|
Больше |
|
|
Меньше или равно |
|
|
Меньше |
|
|
Пример сравнения временных меток
t'2024-04-04T22:22:22.234142+01:00' > t'2024-04-04T22:22:22.234142+04:00'
true
Пример сравнения строк
"ё" > "я"
# Буква "ё" находится в таблице Unicode после "я".
true
Была ли полезна эта страница?