基础语法进阶
IFNULL(xxx,xx) : 如果XXX字段为null,转换为XX值
like ‘_a’ : 模糊查询中只包含一个字符
ESCAPE '~' : 转义符,可以直接用 ‘\’ 也可用ESCAPE ‘ ’
常用函数整理
字符函数
length('') 获取参数的字节数
CONCAT(str1,str2,...) : 拼接字符串
CONCAT_WS(separator,str1,str2,...) : 拼接字符串,使用separator分割
upper、lower 转换大小写;
substr、substring
SUBSTR(str,pos) :截取制定位置后的字符串
SUBSTR(str,pos,len) : 截取从制定位置开始制定长度的字符
INSTR(str,substr) : 返回指定字符串在当前字符串中的索引位置
TRIM([remstr FROM] str) :在字符串中去掉指定字符(开头和结尾)
LPAD(str,len,padstr) :左填充,用指定的字符,将字符串为填充指定的长度
RPAD(str,len,padstr) :右填充,用指定的字符,将字符串为填充指定的长度
`REPLACE`(str,from_str,to_str) : 在指定字符串中替换给定的字符串,全部替换
数学函数
ROUND(X) :四舍五入,小数点后
ROUND(X,D):四舍五入 ,指定位数
CEIL(X) :向上取整
FLOOR(X) : 向下取整
`TRUNCATE`(X,D) : 截断小数点后D位
`MOD`(N,M) : 取模;MOD(a,b) : a-a/b*b (java中‘a\b’取整数)
日期函数
now(): 当前日期加时间
CURTIME() :当前时间
获取时间的指定部分:
YEAR(date); `MONTH`(date)【数字】; MONTHNAME(date)【英文】; `DAY`(date); ...........
STR_TO_DATE(str,format): STR_TO_DATE('1-1-1999','%m-%d-%Y') 结果:1999-01-01
DATE_FORMAT(date,format) :将日期转换为指定的格式
流程控制函数
- if函数
`IF`(expr1,expr2,expr3) :相当于三元运算符 - case
用法1:
case 要判断的字段或者是表达式
when 常量1 then 要显示的语句1或值1;
when 常量2 then 要显示的语句2或值2;
........
else 要显示的值或语句(默认)
end
用法2:
case
when 条件1 then 要显示的语句1或值1;
when 条件2 then 要显示的语句2或值2;
........
else 要显示的值或语句(默认)
end