7.1 計算字段(格式化字段)
存儲在數據庫表中的數據一般不是應用程序所需要的格式,如:
1.需要顯示公司名,同時還需要顯示公司的地址,但這兩個信息存儲在不同的表列中。
2.列數據是大小寫混合的,但報表程序需要把所有數據按大寫表示出來。
計算字段是在運行時在 SELECT 語句內創建的
【提示】在 SQL 語句內可完成的許多轉換和格式化工作都可以在客戶端(應用程序中完成)。但一般來說,在數據庫服務器上完成這些操作比在客戶端中完成的要快
7.2 拼接字段
Vendors 表包含供應商名和地址信息。假如要生成一個供應商報表,需要在格式化的名稱(位置)中列出供應商的位置。
【解析】拼接:將值聯結到一起(將一個值附加到另一個值)構成單個值
例1:
SELECT vend_name + ' (' + vend_country + ')'FROM VendorsORDER BY vend_name;
例2:去掉例1的空格
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'FROM VendorsORDER BY vend_name;
使用別名:一個未命名的列不能用于客戶端應用中,因為客戶端沒有辦法引用它。
例3:
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')' AS vend_titleFROM VendorsORDER BY vend_name;
【提示】AS 關鍵字是可選的
7.3 執行算數計算
例4:檢索訂單號 20008 中所有的商品
SELECT PRod_id, quantity, item_priceFROM OrderItemsWHERE order_num = '20008'
例5:對例4的數據進行匯總
SELECT prod_id, quantity, item_price,quantity * item_price AS expanded_priceFROM OrderItemsWHERE order_num = '20008'
【提示】如何進行計算測試:使用 SELECT
SELECT 3 * 2 ;
SELECT GETDATE();
7.4 小結
續集:
SQLServer:《SQL必知必會》一書的讀書筆記(六)
新聞熱點
疑難解答