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 值,经常使用来对应用中的数据进行加密