函数 是指一段可以直接被另一段程序调用的程序或代码
字符串函数
数值函数
日期函数
流程函数
字符串函数
常用如下:
concat(s1,s2,.....sn),字符串拼接函数,将s1,s2,...sn拼接成一个字符串
lower(str):将字符串全部转为小写
upper(str):将字符串全部转为大写
lpad(str,n,pad):左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
rpad(str,n,pad):右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
trim(str):去掉字符串头部和尾部的空格
substring(str,start,len):返回从字符串str从start位置起的len个长度的字符串
示例:
由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位的统一在前面补0。比如1号员工的工号位00001
update emp set worknumber = lpad(worknumber,5,0);
数值函数
ceil(x)(向上取整)
floor(x)(向下取整)
mod(x,y)返回x/y的模
rand()返回0-1内的随机数
round(x,y)求参数x的四舍五入的值,保留y位小数
示例:
通过数据库函数,生成一个六位数的随机验证码
select lpad(round(rand()*1000000 , 0) , 6 , 0);
日期函数
curdate() 返回当前日期
curtime() 返回当前时间
now() 返回当前日期和时间
year(date)获取指定date的年份
month(date)获取指定date的月份
day(date)获取指定date的日期
date_add(date,interval,expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值
datediff(date1,date2) 返回起始时间date1
流程函数
流程函数也是很常用的一类函数,可以在sql语句中实现条件筛选,从而提高语句的效率。