Диалоговое окно расширенного редактирования (условие)
Область применения: 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' . |