本章的主題是“創建計算字段”,介紹什麼是計算字段,如何創建計算字段,以及如何從應用程序中使用別名引用它們。
概念
- 字段:基本上與列的意思相同,經常互換使用,不過數據庫列一般稱爲列,而術語字段通常與計算字段一起使用。
- 拼接:將值聯結到一起(將一個值附加到另一個值)構成單個值。
提示
- 只有數據庫知道SELECT語句中哪些列是實際的列表,哪些列是計算字段。從客戶端來看,計算字段的數據與其他列的數據的返回方式相同。
- 在SQL語句內可完成的許多轉換和格式化工作都可以直接在客戶端應用程序內完成。但一般來說,在數據庫服務器上完成這些操作比在客戶端中完成要快得多。
- AS關鍵字通常可選,不過最好使用它,這被視爲一條最佳實踐。
- 別名常在實際的表列名包含不合法字符時重新命名它,在原來的名字含混或容易誤解時擴充它。
計算字段
計算字段並不實際存在於數據庫表中。計算字段是運行時在SELECT語句內創建的。
拼接字段
使用下面的SQL命令來執行一個拼接的SQL語句:
SELECT CONCAT(vend_name , ' (' , vend_country , ')')
FROM Vendors
ORDER BY vend_name;
使用別名
別名是一個字段或值的替換名。用AS關鍵字賦予。使用下面的SQL命令:
SELECT CONCAT(vend_name , ' (' , vend_country , ')')
AS vend_title
FROM Vendors
ORDER BY vend_name;
算術字段
使用下面的SQL命令可以執行一個算術計算。
SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;
圓括號可以用來區分運算的順序。
執行測試計算
SELECT語句爲測試、檢驗函數和計算提供了很好的方法。例如SELECT 3*2;將返回6;SELECT Now();返回當前日期和時間。