1.字符串函数
- 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个字符长度的字串
2.数值函数
- ABS(x)
返回x的绝对值
- CEIL(x)
返回大于x的最小整数值
- FLOOR(x)
返回小于x的最大整数值
- MOD(x, y)
返回x/y的模
- RAND()
返回0~1内的随机值
- ROUND(x, y)
返回参数x的四舍五入的有y位小数的值。如果是整数,将会保留y位数量的0;如果不写y,则默认y为0,即将x四舍五入后取整。适合于将所有数字保留同样小数位的情况
- TRUNCATE(x, y)
返回数字x截断为y位小数的结果
3.日期和时间函数
- CURDATE()
返回当前日期
- CURTIME()
返回当前时间
- NOW()
返回当前的日期和时间
- UNIX_TIMESTAMP(date)
返回日期date的UNIX是时间戳
- FROM_UNIXTIME(unixtime)
返回UNIX时间戳的日期值,和UNIX_TIMESTAMP互为逆函数
- WEEK(date)
返回日期date为一年中的第几周
- YEAR(date)
返回日期date的年份
- HOUR(time)
返回time的小时值
- MINUTE(time)
返回time的分钟值
- MONTHNAME(date)
返回date的月份名
- DATE_FORMAT(date, fmt)
返回按字符串fmt格式化日期date值
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 PM |
%r | 时间,12-小时(hh:mm:ss AM 或 PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间, 24-小时 (hh:mm:ss) |
%U | 周 (00-53) 星期日是一周的第一天 |
%u | 周 (00-53) 星期一是一周的第一天 |
%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W | 星期名 |
%w | 周的天 (0=星期日, 6=星期六) |
%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y | 年,4 位 |
%y | 年,2 位 |
- DATE_ADD(date, INTERVAL expr type)
返回一个日期或时间加上一个时间间隔的时间值
INTERVARL 是间隔类型关键字
expr是一个表达式
type是间隔类型
Type 值 |
---|
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONTH |
- DATEDIFF(expr, expr2)
返回起始时间expr和结束时间expr2之间的天数
4.流程函数
- IF(value, t f)
如果value是真,返回t,否则返回f
- IFNULL(value1, value2)
如果value1不为空,返回value1,否则返回value2
- CASE
WHEN [value1] THEN [result1]
...
ELSE [default]
value1是真,返回result1,否则返回default
- CASE [expr]
WHEN [value1] THEN [result]
...
ELSE [default]
END
如果expr等于value1,返回result1,否则返回default
5.其他常用函数
- DATABASE()
返回当前数据库名
- VERSION()
返回当前数据库版本
- USER()
返回当前登录用户名
- INET_ATON(IP)
返回IP地址的数字表示
- INET_NTOA(num)
返回数字代表的IP地址
INET_ATON(IP)和INET_NTON(num)函数的主要用途是将字符串的IP地址转换为数字表示的网络字节序
- PASSWORD(str)
返回字符串str的加密版本
只用来设置系统用户的密码,但是不能用来对应用的数据加密。如果应用方面有加密的需求,可以使用MD5等加密函数来实现。
- MD5(str)
返回字符串str的MD5值
常用来对应用中的数据进行加密