expression

<< 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 – получает подстроку заданной длины, начиная с указанной точки строки

‎‎‎