分享方式:


進階編輯 (條件) 對話框

適用於: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 語法。 請確定您有遵循範例語法。 例如,當您使用 DateAddDatePart 函數時,您必須用單引號括住 datepart 引數。

函式 簽名 描述 引數 傳回值 範例
Add() Numeric Add (Numeric expression1, Numeric expression2) 兩個數字相加。 expression1expression2 - numeric 類別目錄中任何一種資料類型的任何有效運算式 ( 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 資料類型除外)。 傳回類型取決於運算式評估結果的類型。

如果運算式結果為 integerdecimalmoneysmallmoneyfloatreal 類別目錄,傳回的類型分別會是 intdecimalmoneyfloat
Avg(1.0, 2.0, 3.0, 4.0, 5.0) 會傳回 3.0
BitwiseAnd() Numeric BitwiseAnd (Numeric expression 1, Numeric expression2) 在兩個整數值之間,執行位元邏輯 AND 運算。 expression1expression2 - integer 資料類型類別目錄中任何一種資料類型的任何有效運算式。 傳回整數資料類型類別目錄的值。 BitwiseAnd(Property1, Property2)
BitwiseOr() Numeric BitwiseOr (Numeric expression1, Numeric expression2) 執行兩個指定整數值之間的位元邏輯 OR 運算。 expression1expression2 - integer 資料類型類別目錄中任何一種資料類型的任何有效運算式。 傳回整數資料類型類別目錄的值。 BitwiseOr(Property1, Property2)
Concatenate() String Concatenate (String string1, String string2) 串連兩個字串。 string1string2 - 這是您想要串連的兩個字串。 可以是任何有效的非 null 字串。 串連的字串, 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、yyyy)、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)、月(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) 從字串建立日期時間值。 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() 傳回系統日期。 以日期時間形式傳回系統日期。 @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) 如果不是 NULL,則會傳回 check_expression 的值否則會傳回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不是 NULL,則傳回類型為check_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) 將兩個運算式相乘。 expression1expression2 - numeric 類別目錄中任何一種資料類型的任何有效運算式 ( 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*) 將 variant 轉換成字串。 expression - 這是要轉換成字串的 variant 運算式。 傳回 variant 運算式的字串值。 String(4)
Sum() Numeric Sum (VarArgs) 傳回引數清單中所有值的總和。 總和可以搭配數值使用。 VarArgs- 這是精確數值或相近數值資料類型類別目錄的 Variant 運算式清單 ( bit 資料類型除外)。 以最精確的運算式資料類型傳回所有運算式值的總和。

如果運算式結果為 integernumericmoneysmall moneyfloatreal 類別目錄,傳回的類型分別會是 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'