共用方式為


進階編輯 (條件) 對話方塊

使用 [進階編輯] 對話方塊可針對以原則為基礎的管理條件建立複雜運算式。

選項

  • 資料格值
    顯示在您建立時將用於資料格值的函數或運算式。 當您按一下 [確定] 時,資料格值將會出現在 [一般] 頁面上 [建立新條件][開啟條件] 對話方塊之條件運算式方塊內的 [欄位][值] 資料格中。

  • 函數和屬性
    顯示可用的函數和屬性。

  • 詳細資料
    使用以下格式顯示有關函數和屬性的資訊:函數簽名碼、函數描述、傳回值和範例。

語法

有效的運算式必須是下列格式:

{property | function | constant}

{operator}

{property | function | constant}

範例

某些有效運算式的範例如下:

  • Property1 > 5

  • Property1 = Property2

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

  • Sometext INProperty1

  • Property1 < Fn(Property2)

  • BitwiseAnd(Property1, Property2) = 0

其他函數資訊

下列章節提供的詳細資訊,是關於您可用來針對以原則為基礎的管理條件建立複雜運算式的函數。

重要事項重要事項

您可用來建立以原則為基礎之管理條件的函數不一定會使用 Transact-SQL 語法。 請確定您有遵循範例語法。 例如,當您使用 DateAdd 或 DatePart 函數時,您必須用單引號括住 datepart 引數。

函數

說明

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)

函數描述:在兩個整數值之間,執行位元邏輯 AND 運算。

引數:

  • expression1 和 expression2 - 這是整數資料類型類別目錄中任何一個資料類型的任何有效運算式。

傳回值:傳回整數資料類型類別目錄的值。

範例:BitwiseAnd(Property1, Property2)

BitwiseOr()

函數簽章:Numeric BitwiseOr (Numeric expression1, Numeric expression2)

函數描述:在兩個指定的整數值之間,執行位元邏輯 OR 運算。

引數:

  • expression1 和 expression2 - 這是整數資料類型類別目錄中任何一個資料類型的任何有效運算式。

傳回值:傳回整數資料類型類別目錄的值。

範例: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 除外。

傳回值:傳回整數資料類型類別目錄的值。

範例:這個範例中的 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 和縮寫。

Datepart

縮寫

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, yyyy)、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)

函數描述:從字串建立日期時間值。

引數:

  • dateString - 這是字串形式的日期時間值。

傳回值:傳回從輸入字串建立的日期時間值。

範例: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 查詢。

引數:

  • returnType - 指定 Transact-SQL 陳述式所傳回的傳回資料類型。 returnType 的有效常值如下:Numeric、String、Bool、DateTime、Array 和 Guid。

  • sqlQuery - 這是包含要執行之查詢的字串。

範例:ExecuteSQL ('Numeric', 'SELECT COUNT(*) FROM msdb.dbo.sysjobs') <> 0

對目標 SQL Server 執行個體執行純量值的 Transact-SQL 查詢。 SELECT 陳述式中,只能指定一個資料行,會忽略第一個以外的其他資料行。 產生的查詢應該只傳回一個資料列,會忽略第一個以外的其他資料列。 如果查詢傳回空集合,依據 ExecuteSQL 建立的條件運算式會評估為 false。 ExecuteSql 支援視需要按排程時間評估模式。

  • @@ObjectName - 對應到 sys.objects 中的名稱欄位。 將會以目前物件的名稱來取代此變數。

  • @@ObjectSchema - 對應到 sys.schemas 中的名稱欄位。 將會以目前物件的結構描述名稱來取代此變數 (如果適用的話)。

[!附註]

若要在 ExecuteSQL 陳述式中加入單引號,請以第二個單引號來逸出該單引號。 例如,若要包含名為 O'Brian 之使用者的參考,請輸入 O''Brian。

ExecuteWQL()

函數簽章:Variant ExecuteWQL (string returnType , string namespace, string wql)

函數描述:針對提供的命名空間執行 WQL 指令碼。 Select 陳述式只能包含單一傳回資料行。 如果提供了一個以上的資料行,將會擲回錯誤。

引數和傳回類型定義

  • 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()

函數描述:傳回系統日期。

傳回值:以日期時間形式傳回系統日期。

範例:@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)

函數描述:兩個運算式相乘。

引數:

  • expression1 和 expression2 - 這是數值類別目錄中任何一個資料類型的任何有效運算式,但是 datetime 資料類型除外。

傳回值:傳回具有較高優先順序之引數的資料類型。

範例:Multiply(Property1, .20)

Power()

函數簽章:Numeric Power (Numeric numeric_expression, Numeric expression_power)

函數描述:會傳回指定之運算式的指定乘冪值。

引數:

  • numeric_expression - 這是精確數值或近似數值資料類型類別目錄的運算式,但是位元資料類型除外。

  • 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 資料類型除外。

傳回值:以最精確的運算式資料類型傳回所有運算式值的總和。

如果運算式結果為 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 Upper (String_expression)

函數描述:將所有小寫字元轉換成大寫之後傳回字串。

引數:

  • expression - 這是來源字串運算式。

傳回值:將所有小寫字元轉換為大寫之後傳回一個字串,此字串代表來源字串運算式。

範例:這個範例中的 Len('HeLlO') 會傳回 'HELLO'。

請參閱

參考

建立新條件或開啟條件對話方塊,一般頁面

概念

使用原則式管理來管理伺服器