運算式 (SQL Server Compact Edition)
符號和運算子的組合,可供資料庫系統加以求值,以取得單一資料值。簡單的運算式可包括單一常數、變數、資料行或純量函數。您可以使用運算子將兩個或兩個以上的簡單運算式聯結成複雜的運算式。
語法
{ constant
| scalar_function
| [ alias. ] column
| (expression)
| { unary_operator } expression
| expression { binary_operator } expression
}
引數
- constant
代表單一特定資料值的符號。constant 是一或多個英數字元 (字母 a-z 和 A-Z) 或符號 (例如 !、@ 和 #)。Unicode 字元和 datetime 值都使用引號括住。但是二進位字串和數值常數則沒有。
- scalar_function
SQL 語法的一個單位,可提供特定服務並傳回單一值。
- [ alias.]
依據 FROM 子句中的 AS 關鍵字,指定給資料表的別名或相互關聯名稱。
- column
資料行的名稱。
- ( expression )
Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 中的任何有效運算式。其中的括號是群組運算子,可確保括號內運算式中的所有運算子都會先經過求值的程序,然後才將產生的運算式與另一個運算式結合。
{ unary_operator}
只有一個數值運算元的運算子:- + 表示正數。
- - 表示負數。
- ~ 表示補數運算子。
一元運算子只能套用於求得值為數值資料類型分類中一或多個資料類型的運算式。
- { binary_operator}
此運算子可用來定義結合兩個運算式以產生單一結果的方式。binary_operator 可以是算術運算子、設定運算子 (=)、位元運算子、比較運算子、邏輯運算子、字串串連運算子 (+) 或一元運算子。如需詳細資訊,請參閱<運算子 (SQL Server Compact Edition)>。
運算式結果
在由單一常數、變數、純量函數或資料行名稱建立的簡單運算式中,運算式的資料類型、整數位數、小數位數和值,就是參考項目的資料類型、整數位數、小數位數和值。
使用比較運算子或邏輯運算子結合兩個運算式時,產生的資料類型為 Boolean,而值則為下列其中之一:
- TRUE
- FALSE
- UNKNOWN
使用算術運算子、位元運算子或字串運算子結合兩個運算式時,產生的資料類型由運算子決定。
由許多符號和運算子組成的複雜運算式所求出的結果為單一值。產生之運算式的資料類型、整數位數和值,則是等到取得最後結果後,以一次結合兩個元件運算式的方式來決定。運算式的結合順序是由運算式中運算子的優先順序所定義。
備註
如果運算子支援兩個運算式所擁有的資料類型,而且下列條件之一為真,該運算子便可結合這兩個運算式:
- 這些運算式具有相同的型別。
- 優先順序較低的資料類型可以隱含轉換為具有較高之資料類型優先順序的資料類型。
如果不支援隱含轉換,便無法結合這兩個運算式。
在 Microsoft Visual Basic 之類的程式語言中,運算式永遠都會求得單一結果值。SQL 選取清單中的運算式在此規則上有一個不同之處:運算式會針對結果集的每一個資料列個別求值。單一運算式在結果集的每一個資料列中可能會有不同的值,但是每一個資料列都只有運算式的一個值。例如,在下列 SELECT 陳述式中,選取清單中的 ProductID 參考和 1+2 這個項目都是運算式:
SELECT ProductID, 1+2
FROM Products
在結果集的每一個資料列中,運算式 1+2 求得的值都是 3。雖然運算式 ProductID 會在結果集的每一個資料列中產生唯一的值,但是每一個資料列也都只有 ProductID 的一個值。