1、CONCAT(str1,str2,...)
返回結果為連接參數產生的字符串。如有任何一個參數為NULL,則返回值為 NULL。
2、CONCAT_WS(separator,str1,str2,...)
第一個參數是其它參數的分隔符。分隔符的位置放在要連接的兩個字符串之間。分隔符可以是一個字符串,也可以是其它參數。
3、GROUP_CONCAT(expr)分組拼接函數
GROUP_CONCAT([DISTINCT] 要連接的字段 [ORDER BY ASC/DESC 排序字段] [SEPARATOR '分隔符'])。
和GROUP BY配合使用。
4、ISNULL(expr)
exper是NULL,則返回真,否則返回假。
5、IFNULL(expr1,expr2)
假如expr1不為NULL,則IFNULL() 的返回值為 expr1; 否則其返回值為expr2。
6、FORMAT(X,D)
將X格式化成D位小數的數,可以格式化數據為整數或者浮點數,具有四舍五入的功能。
7、SUBSTRING_INDEX(str,delim,count)
SUBSTRING_INDEX(被截取字段,關鍵字,關鍵字出現的次數)
如果count是正數,那么就是從左往右數,第N個分隔符的左邊的全部內容;相反,如果是負數,那么就是從右邊開始數,第N個分隔符右邊的所有內容。
8、常用的文本處理函數
函數 | 說明 | 示例 | 示例結果 |
LEFT(str,len) | 返回串左邊的len個字符 | SELECT LEFT('abcdef',2); | ab |
LENGTH(str) | 返回串的長度 | SELECT LENGTH('abcdef'); | 6 |
LOCATE(substr,str) | 找出串的一個子串,存在則返回第一個出現的位置(位置從1開始計算),不存在返回0 | SELECT LOCATE('abc','abcabc'); | 1 |
LOWER(str) | 將串轉換為小寫 | SELECT LOWER('ABC'); | abc |
LTRIM(str) | 去掉串左邊的空格 | SELECT LTRIM(' QAQ'); | QAQ |
RIGHT(str,len) | 返回串右邊的len個字符 | SELECT RIGHT('abcdef', 2); | ef |
RTRIM(str) | 去掉串右邊的空格 | SELECT RTRIM('QAQ '); | QAQ |
SOUNDEX(str) | 返回穿的SOUNDEX值 | SELECT SOUNDEX('abcdef'); | A1231 |
SUBSTRING(str,pos) | 返回從位置pos開始到末尾的子串 (位置從1開始計算) | SELECT SUBSTRING('abcdef',2); | bcdef |
UPPER(str) | 將串轉換為大寫 | SELECT UPPER('abc'); | ABC |
TRIM(str) | 去掉串左右兩邊的空格 | SELECT TRIM(' QAQ '); | QAQ |
9、常用的日期和時間處理函數
函數 | 說明 | 示例 | 示例結果 |
ADDDATE(date,INTERVAL expr unit) | 增加一個日期(天、周等) | SELECT ADDDATE('2018-12-09 07:00:00',INTERVAL 1 HOUR); |
2018-12-09 08:00:00 |
ADDTIME(expr1,expr2) | 增加一個時期(時、分等) | SELECT ADDTIME('2018-12-09 07:00:00', '07:00:00:00'); | 2018-12-09 14:00:00 |
CURDATE() | 返回當前日期 | SELECT CURDATE(); | 2018-12-09 |
CURTIME() | 返回當前時間 | SELECT CURTIME(); | 17:36:21 |
DATE(expr) | 返回日期時間的日期部分 | SELECT DATE('2018-12-09 07:00:00'); | 2018-12-09 |
DATEDIFF(expr1,expr2) | 計算兩個日期之差 | SELECT DATEDIFF('2018-12-09 07:00:00','2018-12-10 10:30:00'); | -1 |
DATE_ADD(date,INTERVAL expr unit) | 高度靈活的日期運算函數 | SELECT DATE_ADD('2018-12-09 07:00:00',INTERVAL 5 DAY) | 2018-12-14 07:00:00 |
DATE_FORMAT(date,format) | 返回一個格式化的日期或時間串 | SELECT DATE_FORMAT('2018-12-09 07:00:00','%Y-%m-%d %H:%i:%S'); | 2018-12-09 07:00:00 |
DAY(expr) | 返回一個日期的天數部分 | SELECT DAY('2018-12-09 07:00:00'); | 9 |
DAYOFWEEK(date) | 對於一個日期,返回對應的禮拜幾 | SELECT DAYOFWEEK('2018-12-09 07:00:00'); | 1 |
HOUR(expr) | 返回一個時間的小時部分 | SELECT HOUR('2018-12-09 07:00:00'); | 7 |
MINUTE(expr) | 返回一個時間的分鍾部分 | SELECT MINUTE('2018-12-09 07:30:25'); | 30 |
MONTH(expr) | 返回一個時間的月份部分 | SELECT MONTH('2018-12-09 07:30:25'); | 12 |
NOW() | 返回當前日期和時間 | SELECT NOW(); | 2018-12-09 18:44:02 |
SECOND(expr) | 返回一個時間的秒部分 | SELECT SECOND('2018-12-09 07:30:25'); | 25 |
TIME(expr) | 返回一個日期的時間部分 | SELECT TIME('2018-12-09 07:30:25'); | 07:30:25 |
YEAR(date) | 返回一個日日的年份部分 | SELECT YEAR('2018-12-09 07:30:25'); | 2018 |