常用函数
字符串
LENGTH(str)
返回字符串str所占的字节数,中文占3个
CHAR_LENGTH(str)
返回字符串str的字符数
BIT_LENGTH(str)
返回字符串str的比特长度
LEFT(str,x)
返回字符串str从左往右开始x个字符
RIGHT(str,x)
返回字符串str从右往左开始x个字符
ASCII(str)
返回字符串str的ASCII码值
CONCAT(str1,str2,...)
返回str1,str2…连接成字符串的结果
CONCAT_WS(separator,str1,str2,str3...)
返回str1,str2,str3…连接成字符串并以separator中间隔开的结果
REPLACE(str,from_str,to_str)
把字符串str中的from_str替换成to_str
SUBSTR(str,pos,len)
返回字符串str从pos位置开始len字符,len不传,返回从pos开始的所有字符
INSERT(str,pos,len,newstr)
返回把字符串str从pos位置开始len字符替换成newstr后的结果
LOWER(str)
、LCASE(str)
返回把字符串str转成小写
INSTR(str1,str2)
返回字符串str2在str1中的位置,没有找到的值为0
FIND_IN_SET(str,list)
分析逗号分隔的list列表,返回str在list中存在的第一个位置,没有找到为0
TRIM(str)
返回去掉字符串的首尾空格的结果
LTRIM(str)
返回去掉字符串的左边空格的结果
RTRIM(str)
返回去掉字符串的右边空格的结果
POSITION(substr in str)
返回substr在str出现的第一个位置,没有找到为0
REPEAT(str,count)
返回字符串str重复count的结果
REVERSE(str)
返回字符串str颠倒过来的结果
STRCMP(str1,str2)
返回str1与str2的比较,str1存在于str2为1,str1=str2为0,否则为-1
UPPER(str)
、UCASE(str)
返回把字符串str转成大写
日期
NOW()
返回当前时间,’2018-01-01 00:00:00’
CURDATE()
、CURRENT_DATE()
返回当前日期,’2018-01-01’
CURTIME()
、CURRENT_TIME()
返回当前时间,’12:14:21’
DATE_FORMAT(date,format)
format格式为%*
,常用组合'%Y-%m-%d'
、'%Y-%m-%d %h:%i:%s'
参考如下:
格式 | 描述 |
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 PM |
%r | 时间,12-小时(hh:mm:ss AM 或 PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间, 24-小时 (hh:mm:ss) |
%U | 周 (00-53) 星期日是一周的第一天 |
%u | 周 (00-53) 星期一是一周的第一天 |
%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W | 星期名 |
%w | 周的天 (0=星期日, 6=星期六) |
%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y | 年,4 位,2018 |
%y | 年,2 位,18 |
UNIX_TIMESTAMP()
返回时间戳,从'1970-01-01 00:00:00'
开始
FROM_UNIXTIME(unix_timestamp)
返回时间戳unix_timestamp的时间
FROM_UNIXTIME(unix_timestamp,format)
返回时间戳unix_timestamp以format格式结果
DATE_ADD(date,INTERVAL expr unit)
返回时间date加上数值expr单位unit的结果,expr可以为负数的整数,unit常用有SECOND
,MINUTE
,HOUR
,DAY
,MONTH
,YEAR
DATE_SUB(date,INTERVAL expr unit)
与DATE_ADD
相反,返回时间减去数值expr单位unit的结果,expr可以为负数的整数,用法一样
DAYOFWEEK(date)
返回一星期的第几天,星期天为第一天
DAYOFMONTH(date)
返回一个月的第几天(1~31)
DAYOFYEAR(date)
返回一年的第几天(1~366)
WEEK(date)
返回date的一年中第几个周(0~53)
DAYNAME(date)
返回星期名
HOUR(date)
返回小时值(0~23)
MINUTE(date)
返回date的分钟值(0~59)
MONTH(date)
返回date的月份值(1~12)
MONTHNAME(date)
返回date的月份名
QUARTER(date)
返回date的一年中的季度(1~4)
YEAR(date)
返回date的年份
TO_DAYS(date)
从0年到date的天数
TO_SECONDS(date)
从0年到date的秒数
数学
聚合
类型转化
加密
控制流
系统信息