Mysql 内置函数
内置函数
-
数学:
abs(x)
-
系统:
-
VERSION(): 返回mysql服务器的版本,是utf8编码的字符串
-
DATABASE(),SCHEMA():显示当前使用的数据库
-
SESSION_USER(), SYSTEM_USER(), USER(), CURRENT_USER, CURRENT_USER():
返回当前的用户名@主机,utf8编码字符串
-
CHARSET(str) 查看字符集
-
-
条件判断:
- IF(expr1,expr2,expr3):如果expr1不为0或者NULL,则返回expr2的值,否则返回expr3的值
- IFNULL(expr1,expr2):如果expr1不为NULL,返回expr1,否则返回expr2
- NULLIF(expr1,expr2): 如果expr1=expr2则返回NULL, 否则返回expr2
- CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
当compare_value=value时返回result - CASE WHEN 70 > 60 then 111 ELSE 222 END -- 当 条件判断 为TRUE时返回 111 否则 222
-
字符串:
-
select lenth('张飞') -- 返回字符串长度 中文3 个字符 返回 6
-
select CHAR_LENGTH('戈尔贡'); -- 返回 3
-
lower(str)或者lcase(str):
upper(str)或者ucase(str):
left(s,n):返回字符串s最左边n个字符
right(s,n): 返回字符串最右边n个字符 -
lpad(s1, len, s2): 用s2在s1左边填充至长度为len, 若s1的长度大于len,则截断字符串s1至长度len返回
rpad(s1, len, s2): -
ltrim(s):删除s左侧空格字符
rtrim(s): -
REPEAT(str,count):返回str重复count次得到的新字符串
-
REPLACE(str,from_str,to_str): 将str中的from_str全部替换成to_str
-
REVERSE() -- 翻转字符串
-
-
时间:
-
now() SYSDATE() LOCALTIME() --返回当前时间 年月日 时分秒
UTC_TIMESTAMP() -- utc 时间
-
CURDATE() -- 年月日
UTC_DATE(): -- 返回当前世界标准时间 -8
-
CURTIME() -- 时分秒
UTC_TIME([fsp]) -- 世界标准时间 -8
-
MONTH(date)
MONTHNAME(date)
DAYNAME(date)
DAY(date),DAYOFMONTH(date):1-31或者0
DAYOFWEEK(date):1-7==>星期天-星期六
DAYOFYEAR(date): 1-365(366)
WEEK(date[,mode]):判断是一年的第几周,如果1-1所在周在新的一年多于4天,则将其定为第一周;否则将其定为上一年的最后一周。mode是用来人为定义一周从星期几开始。
WEEKOFYEAR(date):类似week(date,3),从周一开始计算一周。
QUARTER(date):返回1-4
HOUR(time):返回时间中的小时数,可以大于24
MINUTE(time):
SECOND(time):EXTRACT(unit FROM date):提取日期时间中的要素
-
TO_DAYS(date): 从第0年开始的天数
注意:时间日期的加减也可以直接用+/-来进行
- DATEDIFF(expr1,expr2):返回相差的天数
TIMEDIFF(expr1,expr2):返回相隔的时间
-
-
数字 操作:
- INET_ATON(expr):ip字符串转数字
INET_NTOA(expr):数字转ip字符串 - FORMAT(x,d) -- x 为数字 d 为要保留的小数位
- INET_ATON(expr):ip字符串转数字
-
**聚合函数: **
- max() count() min() avg() sum()
-
加密:
- MD5() password()
- SHA1(str), SHA(str) -- 两个一样
- SHA2(str, hash_length) -- 可选 hash_length (SHA-224, SHA-256, SHA-384, and SHA-512)