SQL語句練習-使用函數

=============================================================

標題:SQL語句練習-使用函數

備註:SQL SERVER 2000

日期:2011.4.5

姓名:朱銘雷

=============================================================

SQL支持利用函數來處理數據,這些函數也都是非常高效的。不過,對於不同的DBMS,它們可能支持不同的函數,這會給SQL代碼的可移植性帶來問題。

文本處理函數

UPPER函數將文本字串轉換爲大寫。

常用的文本處理函數

SOUNDEX函數

考慮了類似的發音字符和音節,能對串進行發音比較而不是字母比較。

WHERE字句使用SOUNDEX函數轉換cust_contact列值和搜索串爲它們的SOUNDEX值。因爲Michael GreenMichelle Green發音相似,所以它們的SOUNDEX值匹配,因此WHERE字句正確的過濾出了所需數據。

日期和時間處理函數

在各個DBMS中很不一致,可移植性最差。對於特定的DBMS,需要查詢相應的文檔來確定它具體支持的時間日期函數。

DATEPART函數返回日期的某一部分,第一個參數設置爲yy,表示從order_date列中返回年份。上述代碼檢索2004年的所有訂單。這是在SQL SERVER 2000上測試的,對於其他的DBMS,可能不支持,或者形式不一樣,或者參數不同。

DBMS通常會提供很多很有價值的日期時間函數,比如比較日期,執行基於日期的運算,選擇日期格式等函數,這要查閱相應DBMS的文檔。

數值處理函數

聚集函數

用於彙總數據並做相應計算

AVG函數

AVG函數用於求取某列的平均值,上述語句返回供應商DLL01的產品的平均價格。如果去掉最後的WHERE子句,則返回所有產品的平均價格。

COUNT函數

對錶中的行數計數

COUNT*)對所有行計數,不管表列中是否包含控制NULL

只對cust_email列中有值的行計數。

MAX函數

返回指定列中的最大值,忽略列值爲NULL的行。

返回Products表中最貴的物品的價格。

MIN函數

返回指定列中的最小值,忽略列值爲NULL的行。

返回Products表中最便宜的物品的價格。

SUM函數

返回指定列值的和,忽略列值爲NULL的行。

檢索所訂購物品的總數。

返回order_num20005的總的訂單金額。

DISTINCT參數

聚集不同值。

返回特定供應商提供的產品的平均價格,但此平均值只考慮各個不同的價格。

組合聚集函數

SELECT語句可以根據需要包含多個聚集函數。

SQL聚集函數表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章