“高级编辑”(条件)对话框

适用于:SQL Server

“高级编辑”对话框用于为基于策略的管理条件创建复杂表达式。

选项

单元值
在创建用于单元值的函数或表达式时,显示相应的函数或表达式。 选择“确定”时,单元格值将显示在“新建条件”或“常规”页上的“打开条件”对话框的条件表达式框中的“字段”或“值”单元格中

函数和属性
显示可用的函数和属性。

详细信息
使用以下格式显示函数和属性的相关信息:函数签名、函数说明、返回值以及示例。

语法

有效表达式必须采用以下格式:

{property | function | constant}

{operator}

{property | function | constant}

示例

下面是一些有效表达式示例:

  • Property1> 5

  • Property1=Property2

  • Add(5, Multiply(.2,Property1))<Property2

  • Sometext IN Property1

  • Property1< Fn(Property2)

  • BitwiseAnd(Property1,Property2)= 0

其他函数信息

以下各节提供某些函数的附加信息,这些函数可用于为基于策略的管理条件创建复杂表达式。

重要

可用于创建基于策略的管理条件的函数并不总是使用 Transact-SQL 语法。 请务必遵从示例语法。 例如,如果使用 DateAdd 函数或 DatePart 函数,则必须用单引号将 datepart 参数括起来。

函数 Signature 说明 参数 返回值 示例
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 – 变量表达式列表,属于精确数字或近似数字数据类型类别,bit 数据类型除外。 返回类型由 expression 的计算结果类型确定。

如果表达式结果为 integerdecimalmoney ( smallmoney)、 floatreal 类别,则返回类型分别为 intdecimalmoneyfloat
Avg(1.0, 2.0, 3.0, 4.0, 5.0) 返回 3.0
BitwiseAnd() Numeric BitwiseAnd (Numeric expression 1, Numeric expression2) 在两个整数值之间执行“逻辑位与”运算。 expression1 和 expression2 – 整数数据类型类别的任意数据类型的任意有效表达式。 返回整数数据类型类别的值。 BitwiseAnd(Property1, Property2)
BitwiseOr() Numeric BitwiseOr (Numeric expression1, Numeric expression2) 在两个指定的整数值之间执行“逻辑位或”运算。 expression1 和 expression2 – 整数数据类型类别的任意数据类型的任意有效表达式。 返回整数数据类型类别的值。 BitwiseOr(Property1, Property2)
Concatenate() String Concatenate (String string1, String string2) 串联两个字符串。 string1 和 string2 - 要串联的两个字符串。 可以是任何有效的非空字符串。 串联的字符串,并且 string1 后跟有 string2 Concatenate("Hello", " World") 返回“Hello World”。
Count() Numeric Count (VarArgs) 返回参数列表中的项数。 VarArgs – 任意类型(textimagentext 除外)的表达式。 返回整数数据类型类别的值。 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、yyy)、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(yy、yy)、month(mm、m)和 dayofyear(dy,y)。 有关详细信息,请参阅 DATEPART (Transact-SQL)

date - 返回 datetime 值的表达式,或具有日期格式的字符串。
返回一个整数数据类型类别的值,表示指定日期的指定 datepart DatePart('month', DateTime('2007-08-06 14:21:50.620')) 返回 8
DateTime() DateTime DateTime (String dateString) 根据字符串创建一个 datetime 值。 dateString - 字符串形式的 datetime 值。 返回从输入字符串创建的日期/时间值。 DateTime('3/12/2006')
Divide() Numeric Divide (Numeric expression_dividend, Numeric expression_divisor) 用一个数除以另一个数。 expression_dividend - 被除数的数值表达式。 被除数可以是具有数值数据类型类别中任一数据类型( datetime 数据类型除外)的任何有效表达式。

expression_divisor - 除数的数值表达式。 除数可以是具有数值数据类型类别中任一数据类型( datetime 数据类型除外)的任何有效表达式。
返回优先级高的参数的数据类型。 示例:Divide(Property1, 2)

注意:这是一个双精度运算。 若要进行整数比较,必须将结果与 Round()结合。 例如:Round(Divide(10, 3), 0) = 3
Enum() Numeric Enum (String enumTypeName, String enumValueName) 根据字符串创建枚举值。 enumTypeName - 枚举类型的名称。

enumValueName - 枚举的值。
返回数值类型的枚举值。 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 的有效文字如下: NumericStringBoolDateTimeArrayGuid

sqlQuery - 包含要执行的查询的字符串。
ExecuteSQL ('Numeric', 'SELECT COUNT(*) FROM msdb.dbo.sysjobs') <> 0

针对 SQL Server 的目标实例运行一个标量值 TRANSACT-SQL 查询。 在 SELECT 语句中只能指定一列;第一列之外的其他列将被忽略。 生成的查询应只返回一行;第一行以外的其他行将被忽略。 如果查询返回空集,则围绕 ExecuteSQL 构建的条件表达式的计算结果将为 false。 ExecuteSql 支持 按需按计划 计算模式。

-@@ObjectName:
对应于 sys.objects中的名称字段。 该变量将替换为当前对象的名称。

-@@SchemaName:对应于 sys。schemas。 该变量将替换为当前对象的架构名称(如果适用)。

注意:若要在 ExecuteSQL 语句中包含单引号,请再使用一个单引号将其转义。 例如,若要包含对名为 O'Brian 的用户的引用,请键入 O''Brian
ExecuteWQL() Variant ExecuteWQL (string returnType, string namespace, string wql 对提供的命名空间执行 WQL 脚本。 Select 语句只能包含一个返回列。 如果提供多个列,则会引发错误。 returnType - 指定 WQL 返回的数据的返回类型。 有效文字为 NumericStringBoolDateTimeArrayGuid

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) 如果检查_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 类型的类型。
如果检查_expression不为 NULL,则返回类型为 检查_expression;否则返回replacement_value的类型
Len() Numeric Len (string_expression) 返回给定字符串表达式的字符数(不包括尾随空格)。 string_expression – 要计算的字符串表达式。 返回整数数据类型类别的值。 Len('Hello') 返回 5
Lower() String Lower (String*_expression*) 将所有大写字符转换为小写后返回字符串。 expression - 源字符串表达式。 返回一个字符串,它表示所有大写字符都已经转换为小写的源字符串表达式。 Len('HeLlO') 返回 'hello'
Mod() Numeric Mod (Numeric expression_dividend, Numeric expression_divisor) 将第一个数据表达式的值除以第二个数据表达式的值后,提供整数余数。 expression_dividend - 被除数的数值表达式。 expression_dividend 必须为整数或数值数据类型类别中任意一种数据类型的有效表达式。

expression_divisor - 除数的数值表达式。expression_divisor 必须为整数或数值数据类型类别中任意一种数据类型的任意有效表达式。
返回整数数据类型类别的值。 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() String String (Variant*_expression*) 将变量转换为字符串。 expression - 要转换为字符串的变量表达式。 返回变量表达式的字符串值。 String(4)
Sum() Numeric Sum (VarArgs) 返回参数列表中所有值的和。 Sum 可以与数值一起使用。 VarArgs – 变量表达式列表,属于精确数字或近似数字数据类型类别,bit 数据类型除外。 以最精确的 expression 数据类型返回所有 expression 值的和。

如果表达式结果为 integernumericmoney ( small money)、 floatreal 类别,则返回类型分别为 intnumericmoneyfloat
Sum(1.0, 2.0, 3.0, 4.0, 5.0) 返回 15
True() Bool TRUE() 返回布尔值 TRUE。 返回布尔值 TRUE。 IsDatabaseMailEnabled = True()
Upper() String Upper (String*_expression*) 将所有小写字符转换为大写后返回字符串。 expression - 源字符串表达式。 返回一个字符串,它表示所有小写字符都已经转换为大写的源字符串表达式。 Upper('HeLlO') 返回 'HELLO'