5-1,SQL函数
很多情况,SQL语句都要用函数做些加工,这时候SQL函数就派上用场了,范例代码如下:
SELECT vend_name, UPPER(vend_name) AS vend_name_upcaseFROM Vendors
ORDER BY vend_name; UPPER(vend_name)AS vend_name_upcase,就是把vend_name字段的字符串数据再命名并大写。
类似的LOWER()就是字符串小写,RTRIM()去掉右边字符串。
其中,很重要的一个函数就是日期函数,但可移植性很差,不同数据库语法有些差异。
SQL Server:
SELECT order_numFROM Orders
WHERE DATEPART(yy, order_date) = 2012; 从Orders表中,选择order_date = 2012的数据
在 Access中使用如下版本:
SELECT order_numFROM 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_orderedFROM OrderItems
WHERE order_num = 20005; SUM(quantity) AS items_ordered 统计order_num = 20005 的字段为quantity的数值之和
未完待续