mysql常用函数

数学函数

CEIL,向上取整。

FLOOR,向下取整。

ROUND,四舍五入。

TRUNCATE,截取小数点后几位。

MOD,取余数。

ABS,绝对值

POWER,幂运算

PI,圆周率

RAND,随机数

SIGN,取符号

EXP,e的多少次方

字符串函数

CHAR_LENGTH();得到字符串的字符数。

SELECT CHAR_LENGTH('abc');

LENGTH();返回字符串的长度

SELECT LENGTH('abc'); 3
SELECT LENGTH('你好啊'); 9

CONCAT(s1,s2…);合并字符串

SELECT CONCAT('a','b','c',null);

CONCAT_WS(x,s1,s2,s3);以指定的字符拼接字符串

SELECT CONCAT_WS('-','b','c','d'); b-c-d

SELECT CONCAT_WS('-','b','c',null); b-c

SELECT CONCAT_WS(null,'b','c','d'); null

SELECT CONCAT_WS('-a','b','c','d'); b-ac-ad

UPPER() | UCASE() LOWER() | LCASE();将字符串转化为大写或者小写。

SELECT UPPER('hello world'),LOWER('hello world');

REVERSE();字符串反转函数

SELECT REVERSE('abc');

LEFT() | RIGHT();返回字符串的前两个字符,或者后两个字符。

SELECT LEFT('hello'),RIGHT('hello');

LPAD() | RPAD();填充字符串。

SELECT LPAD('abc',10,'?'); ???????abc

去掉字符串两端空格 TRIM() | LTRIM() | RTRIM();

SELECT CONCAT('*','*')

REPEAT();重复指定的次数

SELECT REPEAT('abc',3);

REPLACE();替换字符串

SELECT REPLACE('hello world',' ',',');

SUBSTRING();截取字符串

SELECT SUBSTRING('abcdef',1,3);
SELECT SUBSTRING('abcdef',5,2);

STRCMP();比较字符串

SELECT STRCMP('a','b');

日期时间函数

1,CURDATE() | CURRENT_DATE():返回当前的日期

SELECT CURRENT_DATE();

2,CURTIME() | CURRENT_TIME():返回当前时间

SELECT CURTIME(),CURRENT_TIME();

3,NOW()|CURREMT_TIMESTAMP|SYSDATE():返回当前日期时间

SELECT NOW(),CURRENT_TIMESTAMP(),SYSDATE();

4,返回日期中月份MONTH();

SELECT MONTH('2019-02-11');

5,返回日期中的月份的名称MONTHNAME();

SELECT MONTHNAME('2019-02-11');
SELECT MONTHNAME(CURRENT_DATE());

6,DAYNAME():返回星期几

7,DAYOFWEEK():返回一周内的第几天

8,
WEEK():返回一年中的第几周
YEAR():返回年
MONTH():返回月
DAY():返回日
HOUR():返回时
MINUTE():返回分
SECOND():返回秒

9,DATEDIFF(),计算两个日期相差的天数

SELECT DATEDIFF('2019-05-06',CURDATE());

其他常用函数

VERSION():获取数据库版本

CONNECTION_ID:获取数据库链接数。

DATABASE():获取当前数据库名字

SCHEMA():获取当前数据库名字

USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER():获取当前登陆的用户

LAST_INSERT_ID():返回上一步自增长ID。

MD5():MD5加密

PASSWORD():默认的密码加密算法