MySQL基础之函数
字符串函数
-
# 字符串拼接 concat(s1,s2,...sn) # 字符串转小写 lower(str) # 字符串转大写 upper(str) # 左填充 lpad(str,n,pad) # 用字符串pad对str的左边进行填充,达到n个字符串长度 # 右填充 rpad(str,n,pad) # 用字符串pad对str的右边进行填充,达到n个字符串长度 # 去掉字符串头尾空格 trim(str) # 返回子字符串 注意:mysql中字符串下标从1开始 substring(str,st,len); # 字符串str从st位置开始len长
数值函数
-
# 向上取整 ceil(x) # 向下取整 floor(x) # 返回x/y的模 mod(x,y) # 返回0~1内的随机数 rand() # 求x的四舍五入值,保留y位小数 round(x,y)
日期函数
-
# 返回当前日期 curdate() # 返回当前时间 curtime() # 返回当前日期和时间 now() # 获取指定date的年份/月份/日期 year/month/day(date) # 返回一个日期/时间加上一个时间间隔expr后的时间 date_add(date,interval expr type) # 返回起始时间date1和结束时间date2之间的天数 datediff(date1,date2)
流程函数
-
# 如果value为true,则返回t,否则返回f # t和f是任意数据,不是true false if(value,t,f) # 如果value1不为空,则返回value1,否则返回value2 ifnull(value1,value2) # 如果value1为true,返回res1,...否则返回default默认值 case when [value1] then [res1] ... else [default] end # 如果expr的值等于value1,返回res1,...否则返回default默认值 case [expr] when [value1] then [res1] ... else [default] end
-
示例
-
# 在工作表中查询员工姓名和工作地址(北京/上海 --> 一线城市 , 其他 --> 二线城市) # 第四条语法 select workname, case workspace when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end from cmp; # 第三条语法 case when age >= 85 then '合格' when age >= 60 when '及格' else '不及格' end
-