函数介绍
事先提供好的一些功能可以直接使用
函数可以用在`SELECT`语句及其子句
也可以用在`UPDATE`,`DELETE`语句当中。
函数分类
字符串函数
数值函数
日期和时间函数
流程函数
其它函数
字符串函数
concat(s1,s2...sn)
将传入的字符连接成一个字符串
任何字符串与null进行连接结果都是null
insert(str,x,y,instr)
将字符串str从x位置开始,
y个字符长的子串替换为指定的字符
LOWER(Str)和UPPER(str)
将字符串转成小写或大写
LEFT(str,x)和RIGHT(str,x)
分别返回字符串最左边的x个字符和最右边的x个字符
如果第二个参数为null,那么不返回任何字符
LPAD(str,n,pad)和RPAD(str,n,pad)
用字符串pad对str最左边或最右边进行填充,直接到长度为n个字符长度
LTRIM(str)和RTRIM(str)
去掉字符串当中最左侧和最右侧的空格
TRIM(str)
去掉字符串左右的空格
REPEAT(str,x)
返回str重复x次的结果
REPLACE(str,a,b)
用字符串b替换字符串str中所有出现的字符串a.
SUBSTRING(str,x,y)
返回字符串str中第x位置起y个字符长度的字符
数值函数
`ABS(x)`
返回X的绝对值
`CEIL(x)`
小数不为零部分上取整,即向上取最近的整数
`FLOOR(x)`
小数部分下取整,即向下取最近的整数
`MOD(X,Y)`
返回X/Y的模
`RAND()`
返回0-1内容的随机值
日期和时间函数
`CURDATE()`
返回当前日期,只包含年月日
`CURTIME()`
返回当前时间,只包含时分秒
`NOW()`
返回当前日期和时间,年月日时分秒都包含
`UNIX_TIMESTAMP`
返回当前日期的时间戳
`FROM_UNIXTIME(unixtime)`
将一个时间戳转换成日期
`WEEK(DATE)`
返回当前是一年中的第几周
`YEAR(DATE)`
返回所给日期是那一年
`HOUR(TIME)`
返回当前时间的小时
`MINUTE(TIME)`
返回当前时间的分钟
`DATE_FORMAT(date,fmt)`
按字符串格式化日期date值
`DATE_ADD(date,interval expr type)`
计算日期间隔
`DATEDIFF(date1,date2)`
计算两个日期相差的天数
流程函数
IF(value,t,f)
如果value是真,返回t,否则返回f
FNULL(value1,value2)
如果value1不为空,返回value1否者返回value2
CASE WHEN THEN END
其他常用函数
`DATABASE()`
返回当前数据库名
`VERSION()`
返回当前数据库版本
`USER()`
返回当前登陆用户名
`PASSWORD(STR)`
对str进行加密
`MD5()`
返回str的MD5值