MYSQL函數總結

函數

 

聚合函數

COUNT() : 計算表中的記錄數(行數)

SELECT COUNT(列名) FROM Product;  (下列函數表達式相同)

SUM() : 計算表中數值列中數據的合計值

AVG() : 計算表中數值列中數據的平均值

MAX() : 求出表中任意列中數據的最大值

MIN() : 求出表中任意列中數據的最小值

 

算術函數

ABS(數值) 絕對值函數

SELECT m, ABS(m) AS abs_col FROM SampleMath;

MOD(被除數,除數) 求餘函數

ROUND(數值,保留小數的位數) 四捨五入函數

CEIL(數值)  向上取整

FLOOR(數值) 向下取整

PI() 返回圓周率

RAND() 返回一個小於1的隨機數

SQRT(數值) 返回一個數的平方根

 

字符串函數

CONCAT(str1, str2) 拼接字符串

LENGTH(str) 字符串長度函數

Instr(字符串,子串) 返回子串第一次出現的索引值,如果沒有則返回0

REGEXP 'expr' 正則表達式

SELECT name FROM person_tbl WHERE name REGEXP '^st';

NOT REGEXP

REGEXP_REPLACE()

REGEXP_SUBSTR()

 

字符串轉換函數

LTRIM(str) 去除串左邊的空格

RTRIM(str) 去除串右邊的空格

LOWER(str) 小寫轉換函數

UPPER(str) 大寫轉換函數

REPLACE(被替換的str,傳入的str) 替換字符串函數

SUBSTRING(str,索引) 字符串的截取函數

 

日期函數

CURRENT_DATE() 當前日期函數

SELECT CURRENT_DATE();

CURRENT_TIME()  當前時間函數

TIME() 返回日期時間的時間部分

DATE() 返回日期時間的日期部分

DATE_FORMAT() 返回格式化的日期或時間串

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')

YEAR() 返回日期的年份部分

MONTH() 返回日期的月份部分

MONTHNAME() 返回日期對應月份的英文名

WEEK() 計算日期是一年中的第幾周

WEEKOFYEAR() 計算某天位於一年中的第幾周

DAY() 返回日期的天數部分

DAYOFYEAR() 返回日期是一年中的第幾天

DAYOFMONTH() 返回日期在一個月中的位置

DAYNAME() 返回日期對應工作日的英文名

HOUR() 返回時間的小時部分

MINUTE() 返回時間的分鐘部分

SECOND() 返回時間的秒部分

DATEOFWEEK() 對於日期,返回對應的星期幾

DATEDIFF() 計算兩個日期之差

NOW()、CURRENT_TIMESTAMP()、LOCALTIME()、SYSDATE() 返回當前日期和時間

條件判斷函數

IF(expr, v1, v2) 如果expr表達式爲True則返回v1,如果爲False則返回v2

示例:

SELECT IF(1<2,'yes','no');

IFNULL(v1,v2) 如果v1不爲null,返回v1,如果爲null,返回v2

示例:

SELECT IFNULL(NULL,2);

CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END

如果expr等於某個vn,則返回對應位置THEN後面的結果,如果所有值都不想等,則返回ELSE的rn

示例:

SELECT product_name,

CASE WHEN product_type = ' 衣服 '

THEN 'A : '  | | product_type

WHEN product_type = ' 辦公用品 '

THEN 'B : '  | | product_type

WHEN product_type = ' 廚房用具 '

THEN 'C : '  | | product_type

ELSE NULL

END AS abc_product_type

FROM Product;

 

系統信息函數

VERSION() 返回當前MYSQL版本號

CONNECTION_ID() 查看當前用戶的連接數

SELECT USER() 獲取當前登錄用戶名稱

 

 

 

 

 

 

 

 

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