MySQL的内置函数
函数表示对输入的参数值返回一个具有特定关系的值,MySql提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数,通过对数据的处理,数据库功能可以变得更加强大,更加灵活的满足不同用户的需求。MYSQL中的内置函数从功能上可以区分为:字符串函数,日期于时间函数,、数学函数等
字符串函数
字符串函数可以用来修改或运算字符串类型的数据,在MYSQL中比较重要,也是最常用的函数,在大量编程中使用的次数时最多的,常见的字符串函数如下图所示
函数名 | 示例 | 函数功能 |
---|---|---|
CONCAT | SELECT CONCAT(‘今天’,‘晴天’) 返回:今天晴天 | 连接成字符串 |
LENGTH | LENGTH('hello world') 结果为11 | 返回字符串的长度 |
UPPER | Upper('abcd')返回ABCD | 将字符串转为大写 |
LTRIM | Ltrim(‘ abc’)返回为‘abc’ | 去除字符串左边的空格 |
RTRIM | Rtrim('abv') 返回为‘abc’ | 去除字符串右边的空格 |
TRIM | TRIM(‘ ABC ’)返回‘ABC’ | 去除字符串左右两边的空格 |
REPLACE | Peplace('abccd','c','x') 返回为‘abxxd’ | 将abccd中c替换为x |
STRCMP | STRCMP(S1,S2) | 比较s1和s2,如果s1等于s2,返回0,如果s1小于s2,返回-1 |
SUBSTRIMG | SUBSTRING('Johnson' ,5,3)返回son | 从第五个位置开始截取长度为3的字符串 |
日期函数
日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数外,也可以使用DATETIMR 或者 TIMESTAMP类型的函数,但会忽略这些值的时间部分,相应的,以TIME类型值为参数的函数,可以接受TIMESTAMP类型的参数,但会忽略日期部分,许多日期函数可以同时接受数字和字符串两种类型,
获取当前日期、时间的函数
获取当前日期+时间 函数 | NOW() |
---|---|
获取当前日期函数 | CURDATE() |
获得当前时间函数 | CURRIME() |
获取日期、时间指定部分的函数
函数名 | 函数功能 |
---|---|
MONTH(DATE) | 返回日期对应的月份(数字类型,返回1到12的整数) |
MONTHNAME(DATE) | 返回日期对应的月份(字符串,返回月份的英文全名,如:2月是February) |
DAYNAME(DATE) | 返回日期对应的工作日的英文名称 |
DAYOFWEEK(DATE) | 返回日期对应的一周中的索引,1表示周日,2表示周一 |
WEEKDAY(DATE) | 返回日期对应的工作日索引,0表示周一,1表示周二...6表示周六 |
WEEK(DATE) | 计算日期是一年中的第几周, 范围从1到52 |
DAYOFYEAR(DATE) | 计算日期是一年中的第几天,范围从1到366 |
DAYOFMONTH(DATE) | 计算日期是一个月中的第几天,范围从1到31 |
YEAR(DATE) | 返回日期中年份,范围从1000到9999 |
QUARTER(DATE) | 返回日期对应的一年中的季度值,范围从1到4 |
MINUTE(TIME) | 返回时间的分钟部分,范围从0到59 |
SECOND | 返回时间的秒部分,范围从0到59 |
计算日期和时间的函数
函数名 | 函数功能 |
---|---|
NOW() | 获取当前日期+时间格式 |
DATE_ADD() | 为日期增加一个时间间隔 |
ADDDATE() | 可以用date_add()来替代,用法一致 |
DATE_SUB() | 为日期减少一个时间间隔 |
SUBDATE() | 可以用date_sub()来替代,用法一致 |
ADDTIME() | 可以用date_add()来替代,用法一致 |
DATEDLEF() | 日期时间相减函数 |
数字函数
函数名 | 函数功能 |
---|---|
format(x,y) | 将一个数字x,保留y为小数,并且整数部分用逗号分隔千分位,小数部分进行四舍五入 |
abs() | 求一个数的绝对值;absolute |
sqrt() | 求一个数的平方跟,sqrt是sqruar(平方),root(根)的缩写 |
mod(x,y) | x除数,y被除数。结束是余数 |
ceil() | 向上取整 |
floor() | 向下取整 |
rand() | 用来生成随机数用的 |
truncate(x,y) | 不管四舍五入,直接把x的y位小数直接删除 |
sign() | 返回当前结果得符号,如果是附属返回-1,如果是0,返回0,如果是整数,返回1 |
power() | 幂运算 |
round() | 将数值表达式四舍五入位指定精度 |
系统函数
函数名 | 函数功能 |
---|---|
DATABASE() | 返回当前数据库名 |
BENCHMARK( count ,expr) | 将表达式expr重复运行count次 |
CONNECTTON_ID() | 饭hi当前客户的连接ID |
FOUND_ROWS | 返回最后一个SELECT查询就进行检索的总行数 |
VERSION() | 返回MySQL服务器的版本 |