contact(s1,s2,s3...) : 把傳入的參數鏈接成字符串
mysql> select concat('a','b','c');
+---------------------+
| concat('a','b','c') |
+---------------------+
| abc |
+---------------------+html
任何字符串和 null 拼接結果都是 null
mysql> select concat('a','b','c',null);
+--------------------------+
| concat('a','b','c',null) |
+--------------------------+
| NULL |
+--------------------------+mysql
INSERT(str,pos,len,newstr) : 將字符串 str 從第 pos 位置開始,len 字符長的子串替換爲 newstr
mysql> select INSERT('abcd',1,2,'!!');
+-------------------------+
| INSERT('abcd',1,2,'!!') |
+-------------------------+
| !!cd |
+-------------------------+sql
LOWER(str),UPPER(str): 將字符串轉爲小寫/大寫
mysql> select LOWER('ABC'),UPPER('abc');
+--------------+--------------+
| LOWER('ABC') | UPPER('abc') |
+--------------+--------------+
| abc | ABC |
+--------------+--------------+數據庫
LEFT(str,len),RIGHT(str,len): 返回字符串最左邊/最右邊 len 個字符,若是 len 爲 null,結果返回 null
mysql> select LEFT('abcd',1),RIGHT('abcd',1);
+----------------+-----------------+
| LEFT('abcd',1) | RIGHT('abcd',1) |
+----------------+-----------------+
| a | d |
+----------------+-----------------+函數
LTRIM(str),RTRIM(str):去除 str 左邊/右邊 空格
mysql> select LTRIM(' abc '),RTRIM(' abc ');
+-------------------+-------------------------+
| LTRIM(' abc ') | RTRIM(' abc ') |
+-------------------+-------------------------+
| abc | abc |
+-------------------+-------------------------+加密
REPEAT(str,count):返回 str 重複 count 次數結果
mysql> select REPEAT('ad',3);
+----------------+
| REPEAT('ad',3) |
+----------------+
| adadad |
+----------------+spa
REPLACE(str,from_str,to_str):to_str 替換 str 中出現的 from_str
mysql> select REPLACE('abcd','ab','!!');
+---------------------------+
| REPLACE('abcd','ab','!!') |
+---------------------------+
| !!cd |
+---------------------------+orm
STRCMP(expr1,expr2):比較 expr1 和 expr2 的 ascii 值的大小,若是相等返回 0 ,若是 expr1 比 expr2 小 返回 -1,若是 expr1 比 expr2 大 返回 1
mysql> select STRCMP('a','a'),STRCMP('a','b'),STRCMP('b','a');
+-----------------+-----------------+-----------------+
| STRCMP('a','a') | STRCMP('a','b') | STRCMP('b','a') |
+-----------------+-----------------+-----------------+
| 0 | -1 | 1 |
+-----------------+-----------------+-----------------+htm
trim(str):去除 str 左右的空格
mysql> select trim(' aaa ');
+----------------+
| trim(' aaa ') |
+----------------+
| aaa |
+----------------+ci
SUBSTRING(str,pos,len): 截取 str 中從 pos 位置起的 len 個字符
mysql> select SUBSTRING('abcdefg',1,3);
+--------------------------+
| SUBSTRING('abcdefg',1,3) |
+--------------------------+
| abc |
+--------------------------+
select ABS(X): 獲取 X 的絕對值
select CEIL(X): 獲取大於 X 的最小整數
select FLOOR(X):獲取小於 X 的最大整數
select MOD(N,M): 返回 n%m 結果
select RAND():返回 0~1 之間的隨機值
select ROUND(X,D):返回 X 的四捨五入的有 D 位小數的值,D默認爲0,若是返回結果爲整數,則D=0
mysql> select ROUND(1.1),ROUND(1.1,1),ROUND(1.1,2),ROUND(1,2);
+------------+--------------+--------------+------------+
| ROUND(1.1) | ROUND(1.1,1) | ROUND(1.1,2) | ROUND(1,2) |
+------------+--------------+--------------+------------+
| 1 | 1.1 | 1.10 | 1 |
+------------+--------------+--------------+------------+
select TRUNCATE(X,D):返回 X 截取 D 位小數的結果,注意和 ROUND 的函數區別
mysql> select TRUNCATE(1.238,2),ROUND(1.238,2);
+-------------------+----------------+
| TRUNCATE(1.238,2) | ROUND(1.238,2) |
+-------------------+----------------+
| 1.23 | 1.24 |
+-------------------+----------------+
select now();獲取當前時間
select DATE_FORMAT(date,format):按照 format 格式化 date ,關於 mysql 中時間的格式 ,參考 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
mysql> select DATE_FORMAT(now(),'%Y%m%d');
+-----------------------------+
| DATE_FORMAT(now(),'%Y%m%d') |
+-----------------------------+
| 20190218 |
+-----------------------------+
select DATE_ADD(date,INTERVAL expr unit):返回一個時間或日期加上一個時間間隔
當前日期、當前日期向後一天,當前日期向前一天
mysql> select NOW(),DATE_ADD(now(),INTERVAL 1 day),DATE_ADD(now(),INTERVAL -1 day);
+---------------------+--------------------------------+---------------------------------+
| NOW() | DATE_ADD(now(),INTERVAL 1 day) | DATE_ADD(now(),INTERVAL -1 day) |
+---------------------+--------------------------------+---------------------------------+
| 2019-02-18 16:30:05 | 2019-02-19 16:30:05 | 2019-02-17 16:30:05 |
+---------------------+--------------------------------+---------------------------------+
返回距離當前日期一年兩個月的日期
mysql> select DATE_ADD(now(),INTERVAL '1_2' year_month);
+-------------------------------------------+
| DATE_ADD(now(),INTERVAL '1_2' year_month) |
+-------------------------------------------+
| 2020-04-18 16:31:57 |
+-------------------------------------------+
select DATEDIFF(expr1,expr2):返回 expr1- expr2表示爲從一個日期到另外一個日期的天數值
mysql> select now(),DATEDIFF(now(),'2019-01-01');
+---------------------+------------------------------+
| now() | DATEDIFF(now(),'2019-01-01') |
+---------------------+------------------------------+
| 2019-02-18 16:34:40 | 48 |
+---------------------+------------------------------+
select TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2):返回datetime_expr2- datetime_expr1,結果的單位由unit參數給出
mysql> select TIMESTAMPDIFF(MINUTE,'2019-02-18 11:00:00','2019-02-18 12:00:00') as result;
+--------+
| result |
+--------+
| 60 |
+--------+
mysql> select TIMESTAMPDIFF(HOUR,'2019-02-18 11:00:00','2019-02-18 12:00:00') as result;
+--------+
| result |
+--------+
| 1 |
+--------+
IF(expr1,expr2,expr3):若是expr1是TRUE (expr1 <> 0和expr1 <> NULL),則IF() 返回expr2。不然,它返回expr3
IFNULL(expr1,expr2):若是expr1不是 NULL,則 IFNULL()返回 expr1; 不然它會返回 expr2
CASE WHEN [condition1] THEN result1 [WHEN [condition2] THEN result2 ...] [ELSE defultresult] END:若是 condition1 爲真則返回 result1,若是 condition2 爲真則返回 result2,不然返回 defultresult
mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END as colvalue;
+----------+
| colvalue |
+----------+
| true |
+----------+
CASE value WHEN [compare_value1] THEN result1 [WHEN [compare_value2] THEN result2 ...] [ELSE result] END:若是 value=compare_value1 返回 result1,若是 value=compare_value2 返回 result2
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END as colvalue;
+----------+
| colvalue |
+----------+
| one |
+----------+
select VERSION():查看數據庫版本 select USER():查看當前登陸用戶 select PASSWORD(str):返回字符串 str 加密的版本,此函數只用來設置系統用戶的密碼,不能用來對應用數據加密 select MD5(str):返回 str 的 MD5 值,經常使用來對應用中的數據進行加密