按照數值函式、字串函式、日期時間函式、聚合函式、流程控制函式介紹一些Mysql常用函式與運算子,更多函式用法還可以參考:MySQL官方文件
MySQL 數值型函式
函式名稱 |
作 用 |
ABS |
求絕對值 |
SQRT |
求二次方根 |
MOD |
求餘數 |
CEIL 和 CEILING |
兩個函式功能相同,都是返回不小於引數的最小整數,即向上取整 |
FLOOR |
向下取整,返回值轉化為一個BIGINT |
RAND |
生成一個0~1之間的隨機數,傳入整數引數是,用來產生重複序列 |
ROUND |
對所傳引數進行四捨五入 |
SIGN |
返回引數的符號 |
POW 和 POWER |
兩個函式的功能相同,都是所傳引數的次方的結果值 |
SIN |
求正弦值 |
ASIN |
求反正弦值,與函式 SIN 互為反函式 |
COS |
求餘弦值 |
ACOS |
求反餘弦值,與函式 COS 互為反函式 |
TAN |
求正切值 |
ATAN |
求反正切值,與函式 TAN 互為反函式 |
COT |
求餘切值 |
MySQL 字串函式
函式名稱 |
作 用 |
LENGTH |
計算字串長度函式,返回字串的位元組長度 |
CONCAT |
合併字串函式,返回結果為連線引數產生的字串,引數可以使一個或多個 |
INSERT |
替換字串函式 |
LOWER |
將字串中的字母轉換為小寫 |
UPPER |
將字串中的字母轉換為大寫 |
LEFT |
從左側字擷取符串,返回字串左邊的若干個字元 |
RIGHT |
從右側字擷取符串,返回字串右邊的若干個字元 |
TRIM |
刪除字串左右兩側的空格 |
REPLACE |
字串替換函式,返回替換後的新字串 |
SUBSTRING |
擷取字串,返回從指定位置開始的指定長度的字元換 |
REVERSE |
字串反轉(逆序)函式,返回與原始字串順序相反的字串 |
MySQL 日期和時間函式
函式名稱 |
作 用 |
CURDATE 和 CURRENT_DATE |
兩個函式作用相同,返回當前系統的日期值 |
CURTIME 和 CURRENT_TIME |
兩個函式作用相同,返回當前系統的時間值 |
NOW 和 SYSDATE |
兩個函式作用相同,返回當前系統的日期和時間值 |
UNIX_TIMESTAMP |
獲取UNIX時間戳函式,返回一個以 UNIX 時間戳為基礎的無符號整數 |
FROM_UNIXTIME |
將 UNIX 時間戳轉換為時間格式,與UNIX_TIMESTAMP互為反函式 |
MONTH |
獲取指定日期中的月份 |
MONTHNAME |
獲取指定日期中的月份英文名稱 |
DAYNAME |
獲取指定曰期對應的星期幾的英文名稱 |
DAYOFWEEK |
獲取指定日期對應的一週的索引位置值 |
WEEK |
獲取指定日期是一年中的第幾周,返回值的範圍是否為 0〜52 或 1〜53 |
DAYOFYEAR |
獲取指定曰期是一年中的第幾天,返回值範圍是1~366 |
DAYOFMONTH |
獲取指定日期是一個月中是第幾天,返回值範圍是1~31 |
YEAR |
獲取年份,返回值範圍是 1970〜2069 |
TIME_TO_SEC |
將時間引數轉換為秒數 |
SEC_TO_TIME |
將秒數轉換為時間,與TIME_TO_SEC 互為反函式 |
DATE_ADD 和 ADDDATE |
兩個函式功能相同,都是向日期新增指定的時間間隔 |
DATE_SUB 和 SUBDATE |
兩個函式功能相同,都是向日期減去指定的時間間隔 |
ADDTIME |
時間加法運算,在原始時間上新增指定的時間 |
SUBTIME |
時間減法運算,在原始時間上減去指定的時間 |
DATEDIFF |
獲取兩個日期之間間隔,返回引數 1 減去引數 2 的值 |
DATE_FORMAT |
格式化指定的日期,根據引數返回指定格式的值 |
WEEKDAY |
獲取指定日期在一週內的對應的工作日索引 |
MySQL 聚合函式
函式名稱 |
作用 |
MAX |
查詢指定列的最大值 |
MIN |
查詢指定列的最小值 |
COUNT |
統計查詢結果的行數 |
SUM |
求和,返回指定列的總和 |
AVG |
求平均值,返回指定列資料的平均值 |
MySQL 流程控制函式
函式名稱 |
作用 |
IF |
判斷,流程控制 |
IFNULL |
判斷是否為空 |
CASE |
搜尋語句 |