Поделиться через


Диалоговое окно расширенного редактирования (условие)

Область применения: SQL Server

С помощью диалогового окна Расширенное редактирование создаются сложные выражения для условий управления на основе политик.

Параметры

Значение ячейки
Отображает функцию или выражение, которое будет использовано в качестве значения для ячейки при ее создании. При нажатии кнопки "ОК" значение ячейки появится в ячейке "Поле" или "Значение" в поле выражения условия диалогового окна "Создание нового условия" или диалогового окна "Открыть условие" на странице "Общие".

Функции и свойства
Отображает доступные функции и свойства.

Сведения
Отображает сведения о функциях и свойствах в следующем формате: подпись функции, описание функции, возвращаемое значение и пример.

Синтаксис

Допустимые выражения должны быть представлены в следующем формате:

{property | function | constant}

{operator}

{property | function | constant}

Примеры

Ниже приводятся примеры допустимых выражений:

  • Property1> 5

  • Property1=Property2

  • Add(5, Умножение(.2,Property1))<Property2

  • Sometext IN Property1

  • Property1< Fn(Property2)

  • BitwiseAnd(Property1,Property2)= 0

Дополнительные сведения о функциях

В следующих разделах приводятся дополнительные сведения о функциях, которые можно использовать при создании сложных выражений для условий управления на основе политик.

Внимание

Функции, которые можно использовать для создания условий управления на основе политик, не всегда используют синтаксис Transact-SQL. Необходимо следовать синтаксисту примера. Например, при использовании функций DateAdd или DatePart необходимо заключать аргумент datepart в одинарные кавычки.

Function Подпись Description Аргументы Возвращаемое значение Пример
Add() Numeric Add (Numeric expression1, Numeric expression2) складывает два числа. expression1 и expression2 . Любое допустимое выражение любого из типов данных в категории числовых данных, кроме типа данных bit . Может быть константой, свойством или функцией, возвращающей числовой тип данных. возвращает тип данных аргумента, у которого более высокий приоритет. Add(Property1, 5)
Array() Array Array (VarArgs expression) создает массив из заданного списка значений. Может использоваться с агрегатными функциями, например Sum() или Count(). expression . Выражение, которое должно быть преобразовано в массив. Массив Array(2,3,4,5,6)
Avg() Numeric Avg (VarArgs) возвращает среднее значение значений в списке аргументов. VarArgs . Список выражений Variant, относящихся к категории точных числовых или приблизительных числовых типов данных, за исключением типа данных bit . возвращаемый тип определяется типом вычисленного результата выражения.

Возвращаемый тип определяется типом вычисленного результата выражения. Если результат выражения относится к категории integer, decimal, money , smallmoney, float и real , то возвращаемыми типами являются int, decimal, moneyи float, соответственно.
Avg(1.0, 2.0, 3.0, 4.0, 5.0) в этом примере возвращает значение 3.0 .
BitwiseAnd() Numeric BitwiseAnd (Numeric expression 1, Numeric expression2) Выполняет побитовую логическую операцию «И» между двумя целочисленными значениями. expression1 и expression2 . Любое допустимое выражение любого из типов данных категории типов данных integer. возвращает значение из категории типа данных integer. BitwiseAnd(Property1, Property2)
BitwiseOr() Numeric BitwiseOr (Numeric expression1, Numeric expression2) выполняет побитовую логическую операцию «ИЛИ» применительно к двум указанным целочисленным значениям. expression1 и expression2 . Любое допустимое выражение любого из типов данных категории типов данных integer. возвращает значение из категории типа данных integer. BitwiseOr(Property1, Property2)
Concatenate() String Concatenate (String string1, String string2) Объединяет две строки. string1 и string2 — две строки для объединения. Допускаются любые строки со значением, отличным от NULL. Объединенная строка, в которой за строкой string1 следует строка string2. Concatenate("Hello", " World ") возвращает "Hello World".
Count() Numeric Count (VarArgs) возвращает количество элементов в списке аргументов. VarArgs — это выражение любого типа, за исключением text, imageи ntext. возвращает значение из категории типа данных integer. Count(1.0, 2.0, 3.0, 4.0, 5.0) в этом примере возвращает значение 5 .
DateAdd() DateTime DateAdd (String datepart, Numeric number, DateTime date) Возвращает новое значение типа datetime , получаемое за счет добавления интервала к указанной дате. datepart — параметр, указывающий, для какой части даты вернуть новое значение. Некоторые поддерживаемые типы: year(yy), month(mm, m) и dayofyear(dy, y). Дополнительные сведения см. в разделе DATEADD (Transact-SQL).

number — значение, используемое для увеличения datepart.

date — выражение, которое возвращает значение типа datetime или строку символов в формате даты.
Новое значение типа datetime , получаемое за счет добавления интервала к указанной дате. Пример: DateAdd('day', 21, DateTime('2007-08-06 14:21:50')) в этом примере возвращает значение '2007-08-27 14:21:50'.

В следующей таблице перечислены значения dateparts и аббревиатуры, поддерживаемые данной функцией.

year: yy, yyyy

month: mm, m

dayofyear: dy, y

day: dd, d

week: wk, ww

weekday: dw, w

hour: hh

minute: mi, n

second: ss, s

millisecond: ms
DatePart() Numeric DatePart (String datepart, DateTime date) Возвращает целое число, представляющее указанную часть datepart указанной даты. datepart — параметр, который указывает возвращаемую часть даты. Некоторые поддерживаемые типы: year(yyyy), month (mm, m), dayofyear(dy, y). Дополнительные сведения см. в разделе DATEPART (Transact-SQL).

date — выражение, которое возвращает значение типа datetime или строку символов в формате даты.
Возвращает значение из категории типов данных integer, представляя указанную часть datepart указанной даты. DatePart('month', DateTime('2007-08-06 14:21:50.620')) в этом примере возвращает значение 8 .
DateTime() DateTime DateTime (String dateString) создает значение типа datetime из строки. dateString . Значение даты и времени в виде строки. Возвращает значение даты и времени, созданное из входной строки. DateTime('3/12/2006')
Divide() Numeric Divide (Numeric expression_dividend, Numeric expression_divisor) делит одно число на другое. expression_dividend — делимое числовое выражение. Делимое может представлять собой любое допустимое выражение любого из типов данных категории числовых типов данных, кроме типа данных datetime .

expression_divisor — это числовое выражение, на которое делится делимое. Делитель может представлять собой любое допустимое выражение любого из типов данных категории числовых типов данных, кроме типа данных datetime .
возвращает тип данных аргумента, у которого более высокий приоритет. Пример: Divide(Property1, 2)

Примечание. Это операция со значениями типа double. Чтобы выполнить целочисленное сравнение, необходимо применить к результатам функцию Round(). Например: Round(Divide(10, 3), 0) = 3.
Enum() Numeric Enum (String enumTypeName, String enumValueName) создает значение типа enum из строки. enumTypeName — представляет собой имя типа enum.

enumValueName — значение типа enum.
возвращает значение типа enum в виде числового значения. Enum('CompatibilityLevel','Version100')
Escape() String Escape (String replaceString, String stringToEscape, String escapeString) Экранирует подстроку входной строки заданной экранизирующей строкой. replaceString — входная строка.

stringToEscape — подстрока строки replaceString. Это строка, перед которой добавляется экранизирующая строка.

escapeString — экранирующая строка, добавляемая перед каждым экземпляром строки stringToEscape.
Возвращает измененную строку replaceString , в которой перед каждым экземпляром строки stringToEscape помещена строка escapeString. Escape("Hello", "l", "[") возвращает строкуHe[l[lo.
ExecuteSQL() Variant ExecuteSQL (String returnType, String sqlQuery) Выполняет запрос Transact-SQL на целевом сервере.

Дополнительные сведения о функции ExecuteSql() см. в разделе Функция ExecuteSql().
returnType — указывает тип возвращаемых данных, возвращаемых инструкцией Transact-SQL. Допустимыми литералами для returnType являются следующие: Numeric, String, Bool, DateTime, Arrayи Guid.

sqlQuery — строка, содержащая выполняемый запрос.
ExecuteSQL ('Numeric', 'SELECT COUNT(*) FROM msdb.dbo.sysjobs') <> 0

Выполняет скалярный запрос Transact-SQL к целевому экземпляру SQL Server. В инструкции SELECT можно указать только один столбец; дополнительные столбцы вслед за первым не учитываются. Результирующий запрос должен возвращать только одну строку; дополнительные строки не учитываются. Если запрос возвращает пустой набор, то выражение условия, построенное на функции ExecuteSQL , возвращает значение false. ExecuteSql поддерживает режимы вычисления По запросу и По расписанию .

-@@ObjectName:
соответствует полю имени в таблице sys.objects. Переменная будет заменена именем текущего объекта.

-@@SchemaNameсоответствует полю имени в таблице sys.schemas. Переменная будет заменена именем схемы текущего объекта, если это возможно.

Примечание. Если в инструкцию ExecuteSQL необходимо включить одиночную кавычку, ее следует экранировать второй одиночной кавычкой. Например, чтобы включить ссылку на пользователя С именем O'Brian, введите O''Brian.
ExecuteWQL() Variant ExecuteWQL (string returnType, строковое пространство имен, строка wql) выполняет скрипт WQL по отношению к предоставленному пространству имен. Инструкция выборки может содержать только единственный возвращаемый столбец. Если предоставлен больше чем один столбец, выдается ошибка. returnType — указывает тип данных, возвращаемый WQL-запросом. Допустимыми литералами являются Numeric, String, Bool, DateTime, Arrayи Guid.

namespace — пространство имен WMI, для которого выполняется запрос.

wql — строка, содержащая выполняемый WQL-запрос.
ExecuteWQL('Numeric', 'root\CIMV2', 'select NumberOfProcessors from win32_ComputerSystem') <> 0
False() Bool False() возвращает логическое значение FALSE. нет возвращает логическое значение FALSE. IsDatabaseMailEnabled = False()
GetDate() DateTime GetDate() возвращает системную дату. нет возвращает системную дату как значение типа DateTime. @DateLastModified = GetDate()
Guid() Guid Guid(String guidString) возвращает значение идентификатора GUID из строки. guidString — строковое представление создаваемого идентификатора GUID. возвращает идентификатор GUID, созданный на основе строки. Guid('12340000-0000-3455-0000-000000000454')
IsNull() Variant IsNull (Variant check_expression, Variant replacement_value) Значение check_expression возвращается, если значение не равно NULL; в противном случае возвращается replacement_value . Если тип аргументов отличается, тип аргумента replacement_value неявно преобразуется в тип аргумента check_expression. check_expression — выражение, для которого проверяется значение NULL. check_expression может иметь любой тип, поддерживаемый управлением на основе политик: Numeric, String, Bool, DateTime, Array и Guid.

replacement_value — выражение, возвращаемое, если check_expression имеет значение NULL. Аргументreplacement_value должен иметь тип, который неявно преобразован в тип check_expression.
Возвращаемый тип является типом check_expression , если check_expression не имеет значения NULL; в противном случае возвращается тип replacement_value .
Len() Numeric Len (string_expression) возвращает количество символов указанного строкового выражения, исключая конечные пробелы. string_expression — оцениваемое строковое выражение. возвращает значение из категории типа данных integer. Len('Hello') в этом примере возвращает значение 5 .
Lower() Строка ниже (String*_expression*) возвращает строку после преобразования всех символов верхнего регистра в нижний регистр. expression — выражение исходной строки. возвращает строку, которая представляет исходную строку после преобразования всех символов верхнего регистра в нижний регистр. Len('HeLlO') в этом примере возвращает значение 'hello' .
Mod() Numeric Mod (Numeric expression_dividend, Numeric expression_divisor) вычисляет целочисленный остаток после деления первого числового выражения на второе. expression_dividend — делимое числовое выражение. Аргументexpression_dividend должен быть допустимым выражением любого типа данных из категории целочисленных или числовых.

expression_divisor — числовое выражение для деления дивиденда на. expression_divisor должно быть любым допустимым выражением любого из типов данных в целочисленном или числовых категориях типов данных.
возвращает значение из категории типа данных integer. Mod(Property1, 3)
Multiply() Numeric Multiply (Numeric expression1, Numeric expression2) умножает два выражения. expression1 и expression2 — любое допустимое выражение любого из типов данных в категории числовых данных, кроме типа данных datetime . возвращает тип данных аргумента, у которого более высокий приоритет. Multiply(Property1, .20)
Power() Numeric Power (Numeric numeric_expression, Numeric expression_power) Возвращает значение определенного выражения в определенной степени. numeric_expression — выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit.

expression_power — степень, в которую возводится арумент numeric_expression. expression_power может быть выражением категории точного или приблизительного числового типа данных, за исключением типа данных bit .
Возвращаемым типом является такой же тип, как и у выражения numeric_expression. Power(Property1, 3)
Round() Numeric Round (Numeric expression, Numeric expression_precision) Возвращает числовое выражение, округленное до указанной длины или точности. expression — выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit .

expression_precision — точность, до которой должно быть округлено значение выражения. Если аргумент expression_precision является положительным числом, значение numeric_expression округляется до числа десятичных разрядов, указанных в виде длины. Когда expression_precision является отрицательным числом, numeric_expression округляется слева от точки, отделяющей десятичную дробь от целого числа, как указано в expression_precision.
Возвращает тот же тип, что и аргумент numeric_expression. Round(5.333, 0)
String() Строка строки (Variant*_expression*) преобразует данные типа Variant в строку. expression — выражение типа Variant, которое должно быть преобразовано в строку. возвращает строковое значение выражения типа Variant. String(4)
Sum() Numeric Sum (VarArgs) возвращает сумму всех значений в списке аргументов. Эту функцию можно использовать с численными значениями. VarArgs— список выражений типа Variant, относящихся к категории точных числовых или приблизительных числовых типов данных, за исключением типа данных bit . возвращает сумму всех значений выражения, представленную в наиболее точном формате данных.

Если результат выражения относится к категории integer, numeric, money , small money, float и real ,то возвращаемыми типами являются int, numeric, moneyи float, соответственно.
Sum(1.0, 2.0, 3.0, 4.0, 5.0) в этом примере возвращает значение 15 .
True() Bool TRUE() возвращает логическое значение TRUE. возвращает логическое значение TRUE. IsDatabaseMailEnabled = True()
Upper() Верхняя строка (String*_expression*) возвращает строку после преобразования всех символов нижнего регистра в верхний регистр. expression — выражение исходной строки. возвращает строку, представляющую собой исходное строковое выражение после преобразования всех символов нижнего регистра в верхний регистр. Upper('HeLlO') в этом примере возвращает значение 'HELLO' .