運算式的結構
運算式由資料行名稱、常值、運算子或函式等的任何組合構成。
依照下列準則合併各項目以形成運算式:
輸入資料行的名稱以參考資料行。 如果您的查詢使用了多個資料表,而且您使用的資料行名稱不是唯一名稱,必須將資料表名稱和句號加入資料行名稱。 以下例子是以資料表名稱 employee 限定的資料行名稱 job_id:
employee.job_id
常值文字必須以單引號括住;數字不必使用引號括住。
注意事項 在某些資料庫中,單引號中的詞會被視為常值,而雙引號中的詞會被視為資料行或資料表參考之類的資料庫物件。因此,[查詢和檢視表設計工具] 可以接受以雙引號括住的詞彙,不過解譯結果可能和您的預期有出入。在 SQL Server 裡,[查詢和檢視表設計工具] 一律將雙引號解譯為資料庫物件分隔符號。
數字要使用標準算術運算子,合併字串要使用串連運算子。
包含括號以建立運算子的優先順序。
如果包含了函式,傳遞至函式的引數也要遵守這些準則。 也就是,輸入資料行的名稱以參考資料行並附上以單引號括住的常值文字等。
如果以函式引數的形式傳遞資料行名稱,請確定資料行的資料型別適合做為函式引數。
可以在運算式中包含傳回純量值的使用者自訂函式。
下表說明了在查詢中使用運算式的情形。
運算式* |
結果 |
---|---|
SELECT (price * .9)FROM products |
顯示折扣價格 (價格資料行中的值減 10%)。 |
SELECT sales.qty, titles.price FROM sales INNER JOIN titles ON sales.title_id = titles.title_id ORDER BY (sales.qty * titles.price) |
聯結兩個資料表之後,根據訂單的總值 (數量乘以價格) 排序結果集。 |
SELECT au_lname, au_fname FROM authors WHERE (SUBSTRING(phone, 1, 3) = '415') |
顯示區碼在 San Francisco 區域的作者。 |
SELECT ord_num, ord_date FROM sales WHERE (ord_date >= DATEADD(day, -10, GETDATE())) |
尋找 sales 資料表中過去 10 天內所下的全部訂單。 GETDATE( ) 函式會傳回今天的日期。 |
* 此處顯示的某些運算子和函式只適用於一個資料庫。 如需可使用之運算子和函式的詳細資訊,請參閱您資料庫的文件。