常用的字符串函数
函数 | 功能 |
CONCAT(S1,S2,...Sn) | 连接S1,S2,...Sn为一个字符串 |
INSERT(str,x,y,instr) | 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr |
LOWER(str) | 将字符串str中所有字符变为小写 |
UPPER(str) | 将字符串str中所有字符变为大写 |
LEFT(str,x) | 返回字符串str最左边的x个字符 |
RIGHT(str,x) | 返回字符串str最右边的x个字符 |
LPAD(str,n,pad) | 用字符串pad对str最左边进行填充,直到长度为n个字符长度 |
RPAD(str,n,pad) | 用字符串pad对str最右边进行填充,直到长度为n个字符长度 |
LTRIM(str) | 去掉字符串str左侧的空格 |
RTRIM(str) | 去掉字符串str右侧的空格 |
REPEAT(str,x) | 返回str重复x次的结果 |
REPLACE(str,a,b) | 用字符串b替换字符串str中所有出现的字符串a |
STRCMP(s1,s2) | 比较字符串s1,s2 |
TRIM(str) | 去掉字符串行尾和行头的空格 |
SUBSTRING(str,x,y) | 返回从字符串str x位置起y个字符长度的子串 |
数值函数
函数 | 功能 |
ABS(x) | 返回x的绝对值 |
CEIL(x) | 返回大于x的最小整数值 |
FLOOR(x) | 返回小于x的最大整数值 |
MOD(x,y) | 返回x/y的模 |
RAND() | 返回0~1的随机值 |
TRUNCATE(x,y) | 返回数字x截断为y为小数的结果 |
日期和时间函数
函数 | 功能 |
CURDATE() | 返回当前日期 |
CURTIME() | 返回当前时间 |
NOW() | 返回当前日期和时间 |
UNIX_TIMESTAMP() | 返回日期date的unix时间戳 |
FROM_UNIXTIME | 返回unix时间戳的日期值 |
WEEK(date) | 返回日期date为一年中的第几周 |
YEAR(date) | 返回日期date的年份 |
HOUR(time) | 返回time的小时值 |
MINUTE(time) | 返回time的分钟值 |
MONTHNAME(date) | 返回date的月份名 |
DATE_FORMAT(date,format) | 返回字符串format格式化日期date值 |
DATE_ADD(date,INTERVAL expr unit) | 返回一个日期或时间值加上一个时间间隔的时间值 |
DATEDIFF(expr1,expr2) | 返回起始时间expr和结束时间expr2之间的天数 |
MySQL中的日期和时间格式
格式符 | 格式说明 |
%Y | 4位数字表示的年份 |
%y | 两位数字表示的年份 |
%k | 数字形式的小时,24小时(0,1,...,23) |
%l | 数字形式的小时,12小时(1,2,...,12) |
%r | 12小时的时间形式(hh:mm:ssAM或者hh:mm:ssPM) |
%p | AM或PM |
%w | 以数字形式表示周中的天数(0=Sunday,1=Monday,...) |
%U | 周,其中Sunday为周中的第一天 |
%u | 周,其中Monday为周中的第一天 |
%b | 月份对应的英文缩写 |
%M | 月名(January,February,...) |
%m | 两位数字表示的月份(01,02,...12) |
%c | 数字表示的月份(1,2,...,12) |
%d | 两位数字表示月中的天数(00,01,...,31) |
%e | 数字形式表示月中的天数(1,2,...31) |
%D | 英文后缀表示月中的天数(1st,2nd,3rd,...) |
%j | 以3位数字表示年中的天数(001,002,...,366) |
%a | 一周中每一天的名称缩写(sun,mon,...) |
%W | 一周中每一天的名称(Sunday,Monday,...) |
%H | 00-23的小时 |
%h和%I | 两位数字形式的小时,12小时(01,02,...,12) |
%i | 两位数字形式的分(00-59) |
%S和%s | 两位数字形式的秒(00-59) |
%f | 微秒 |
%T | 24小时的时间形式(hh:mm:ss) |
流程函数
函数 | 功能 |
IF(value,t,f) | 如果value是真,返回t;否则返回f |
IFNULL(value1,value2) | 如果value1不为空,返回value1,否则返回value2 |
CASE WHEN [value1] THEN [result1]... ELSE [default]END | 如果value1是真,返回result1,否则返回default |
CASE [expr] WHEN [value1] THEN [result1]... ELSE [default]END | 如果expr等于value1,返回result1,否则返回default |