SQL操作知識總結(三)
5-1,SQL函式
很多情況,SQL語句都要用函式做些加工,這時候SQL函式就派上用場了,範例程式碼如下:
SELECT vend_name, UPPER(vend_name) AS vend_name_upcase
FROM Vendors
ORDER BY vend_name; UPPER(vend_name)AS vend_name_upcase,就是把vend_name欄位的字串資料再命名並大寫。
類似的LOWER()就是字串小寫,RTRIM()去掉右邊字串。
其中,很重要的一個函式就是日期函式,但可移植性很差,不同資料庫語法有些差異。
SQL Server:
SELECT order_num
FROM Orders
WHERE DATEPART(yy, order_date) = 2012; 從Orders表中,選擇order_date = 2012的資料
在 Access中使用如下版本:
SELECT order_num
FROM Orders
WHERE DATEPART('yyyy', order_date) = 2012; 同上。
還有一些數學函式如下:
ABS() 返回一個數的絕對值
PI() 返回圓周率
SQRT() 返回一個數的平方根
6-1,聚集函式
SELECT AVG(prod_price) AS avg_price
FROM Products; AVG(prod_price) AS avg_price返回Products 表中所有產品的平均價格
SELECT COUNT(*) AS num_cust
FROM Customers; COUNT(*) AS num_cust對錶中行的數目進行計數。 COUNT(某列) AS num_cust是對錶的某列有值的行就行計數 。記住 COUNT(*) 是不管有沒有值都進行計數,COUNT(某列)是隻對列中有值的行進行計數。
SELECT MAX(prod_price) AS max_price
FROM Products; 返回列中最大值 MIN()返回最小值
SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005; SUM(quantity) AS items_ordered 統計order_num = 20005 的欄位為quantity的數值之和
未完待續