<< Click to Display Table of Contents >> Navigation: DSL ZESB > Компоненты языка > Раздел Routers > Router > expression |
Функции и выражения используемые в условиях.
Переменная из локального контекста обязательно берется в фигурные скобки {$.id}
Имена переменных
Если имя переменной содержит какой-либо из этих специальных символов ~ ( ) # \ / = > < + - * % & | ^ ' " [ ], необходимо заключить имя столбца в квадратные скобки.
Если имя переменной содержит правую скобку или обратную косую черту, пропустите ее с помощью обратной косой черты (\] или \\).
Литералы
Строковые значения заключены в одинарные кавычки. Если строка содержит одинарную кавычку, то кавычка должна быть удвоена.
Пример:
{$.name} = 'John' // string value
{$.name} = John ''A''' // string with single quotes "John 'A'"
Числовые значения не заключены в символы.
{$.Year} = 2008 // integer value
{$.Price} = 1199.9 // float value
Значения дата заключены в символы # #.
{$.Date} = #12/31/2008#" // date value (time is 00:00:00)
{$.Date} = #2008-12-31#" // also this format is supported
{$.Date} = #12/31/2008 16:44:58#" // date and time value
Операторы сравнения
Равно, не равно, меньше, больше операторы используются для включения только значений, которые подходят для выражения сравнения.
Вы можете использовать эти операторы =<><<=>>= .
{$.Num} = 10 // number is equal to 10
{$.Date} < #1/1/2008# // date is less than 1/1/2008
{$.Name} <> 'John' // string is not equal to 'John'
{$.Name} >= 'Jo' // string comparison
Оператор IN используется для включения только значений из списка. Оператор можно использовать для всех типов данных,
таких как числа или строки.
{$.Id} IN (1, 2, 3) // integer values
{$.Price} IN (1.0, 9.9, 11.5) // float values
{$.Name} IN ('John', 'Jim', 'Tom') // string values
{$.Date} IN (#12/31/2008#, #1/1/2009#) // date time values
{$.Id} NOT IN (1, 2, 3) // values not from the list
Оператор LIKE используется для включения только тех значений, которые соответствуют шаблону с подстановочными знаками. Подстановочный знак - это *или %, он может
быть в начале шаблона '*value', в конце 'value*'или в обоих случаях '*value*'. Подстановочный знак в середине патерна 'va*lue'не допускается .
{$.Name} LIKE 'j*' // values that start with 'j'
{$.Name} LIKE '%jo%' // values that contain 'jo'
{$.Name} NOT LIKE 'j*' // values that don't start with 'j'
Если шаблон в предложении LIKE содержит какие-либо из этих специальных символов * % [ ], эти символы должны быть заключены в скобки , [ ]подобные этим [*], или .[%][[][]]
{$.Name} LIKE '[*]*' // значения, начинающиеся с '*'
{$.Name} LIKE '[[]*' // значения, начинающиеся с '['
Логические операторы
Булевы операторы AND используются для объединения выражений OR. Оператор NOT имеет приоритет над оператором AND
и имеет приоритет над оператором OR.
// оператор И имеет приоритет над оператором ИЛИ, нужны скобки
{$.City} = 'Tokyo' AND ({$.Age} < 20 OR {$.Age} > 60)
// следующие примеры делают то же самое
{$.City} <> 'Tokyo' AND {$.City} <> 'Paris'
NOT {$.City} = 'Tokyo' AND NOT {$.City} = 'Paris'
NOT ({$.City} = 'Tokyo' OR {$.City} = 'Paris')
{$.City} NOT IN ('Tokyo', 'Paris')
Функции
Также поддерживаются следующие функции. Подробное описание можно найти здесь .
CONVERT – преобразует конкретное выражение в указанный тип .NET Framework
LEN - получает длину строки
ISNULL – проверяет выражение и либо возвращает проверенное выражение, либо значение замены
IIF – получает одно из двух значений в зависимости от результата логического выражения
TRIM - удаляет все начальные и конечные пробелы, такие как \r, \n, \t, ‚ '
SUBSTRING – получает подстроку заданной длины, начиная с указанной точки строки