SQL數據庫的常用函數包括字符串函數、數值函數、日期時間函數、轉換函數和正則表達式函數,以及一些聚合函數。
1.字符串函數
字符串函數主要用於對字符串數據的處理。
函數 | 含義 |
---|---|
ASCII(string) | 返回給定ASCII字符string的十進制值 |
CHAR(string) | 返回給定整數integer所對應的ASCII字符 |
COUNT(string) | 獲得字符串string的個數 |
CONCAT(string1, string2) | 連接字符串string1和string2 |
LOWER(string) | 將字符串string的全部字母轉換成小寫 |
UPPER(string) | 將字符串string的全部字母轉換爲大寫 |
SUBSTR(string, start, count) | 獲取字符串string的子串,其中string爲源字符串,返回從start位置開始,長度爲count的子串。 |
LENGTH(string) | 返回字符串string的長度 |
2.數值函數
當檢索的數據爲數值數據類型時,可以使用數值函數進行數學計算。
函數 | 含義 |
---|---|
ABS(value) | 返回給定value數值的絕對值 |
CELL(value) | 取上整,返回大於或等於value的最小整數值 |
FLOOR(value) | 取下整,返回小於或等於value的最小整數值 |
EXP(value) | 返回以e爲底的指數值 |
SQRT(value) | 返回value的平方根 |
3.日期時間函數
My SQL默認的日期格式爲:YYYY-MM-DD。
函數 | 含義 |
---|---|
SYSDATE | 獲取系統當前的日期值 |
LAST_DAY(date) | 返回日期date所在月的最後一天 |
CURRENT_TIMESTAMP | 獲取當前的日期和時間值 |
MONTHS_BETWEEN(date1,date2) | 返回date1和date2間隔多少個月 |
4.轉換函數
在執行運算的過程中,經常需要把一種類型的數據轉換爲另一種類型的數據,這種轉換既可以是隱式轉換,也可以是顯示轉換。顯示轉換需要調用相應的轉換函數來實現。
函數 | 含義 |
---|---|
TO_CHAR(value[,format]) | 將value轉換爲VARCHAR2字符串 |
TO_NUMBER(value[,format]) | 將數字字符串value轉化成數值型數據 |
TO_DATE(string,’format’) | 按照指定的format格式將string字符串數據轉換成日期型數據 |
CAST(value AS type) | 將value轉換爲type所指定的兼容數據類型 |
5.聚合函數(統計函數)
檢索數據不僅僅是把現有的數據簡單地從表中取出來,在很多情況下,還需要對數據執行各種統計計算,這就需要聚合函數。
聚合函數對一組行中的某個執行計算並返回單一的值;
聚合函數忽略空值;
聚合函數通常與SELECT語句的GROUP BY 子句一同使用。
函數 | 含義 |
---|---|
AVG(x) | 返回對一個數字列或計算列求取的平均值 |
SUM(x) | 返回對一個數字列或計算列的彙總和 |
MAX(x) | 返回一個數字列或計算列中的最大值 |
MIN(x) | 返回一個數字列或計算列中的最小值 |
COUNT(x) | 返回記錄的統計數量 |
MEDIA(x) | 返回x的中間值 |
VARIANCE(x) | 返回x的方差 |
STDDEV(x) | 返回x的標準差 |
SELECT語句的執行有特定的次序,首先執行FROM子句,然後是WHERE子句,最後纔是SELECT子句。