前言
在MySQL数据库中,为了实现更多功能有时会使用一些函数,包括系统定义函数:可供直接调用,还有用户自定义函数。根据作用范围不同分为单行函数和多行函数,单行函数作用于一行返回一个函数值,多行函数作用于多行,但返回一个值,比较常见的多行函数有聚合函数,分组函数。
单行函数
单行函数主要包括字符函数,数字函数,日期函数等。主要针对对应的数据类型完成一系列操作。
语法格式:select 函数(参数)from dual,dual是虚表,当查找没有表中的信息,还仍要满足select from语法,这时需要虚表。此时查询的返回值就是函数作用于对应参数后的结果。也可以在查询过程中对应字段上使用某个函数,起到方便查询,帮助查询的作用。
字符函数
大小写转换:
| LOWER('str') | 将str全部改成小写 |
| UPPER('str') | 将str全部改成大写 |
效果展示:


字符处理:
| CONCAT('str1','str2') | 字符串连接函数。连接括号内的字符串参数。 |
| LENGTH('str') | 统计字符串长度。 |
| LPAD(作用域,填充后的长度,填充内容) |
左填充,不满足填充总长度的即进行从字符串左侧填充。 |
| RPAD(作用域,填充后的长度,填充内容) | 右填充,不满足填充总长度的即进行从字符串右侧填充。 |
| TRIM(str) | 去除字符串str头部和尾部的空格 |
| REPLACE(str1,str2,str3) |
将str1中的str2用str3代替。 |
| SUBSTR(str1,m,n) | 从str1的第m个字符开始,取长度为n的一个子串。如果n省略,则取到结尾。 |
| INSTR(str1,str2) | 查询子串str2在原str1中出现的位置(字符串首位从1开始)。 |
效果展示:









数字函数
| ROUND(m,n) | 四舍五入函数,m是被操作的数字,n是小数点前/后几位。
n>0,从点后n位开始,n<0,从点前n位开始,执行四舍五入。n>0时,看点后n+1位判断四舍五入,n<0时,看当前位判断四舍五入。 另外一种解释是求参数m的四舍五入的值,保留n位小数。 |
| MOD(x,y) | 返回x/y的模。 |
| ABS(x) | 返回某个数的绝对值。 |
| SQRT(x) | 返回某个数的平方根。 |
| RAND() | 返回0-1内的随机数。 |
| CEIL(x),FLOOR(x) | 对x向上取整(返回大于等于x的最小整数);对x向下取整(返回小于等于x的最大整数)。 |
效果展示:








日期函数
有的时候数据的收集会涉及到入职时间等关于日期数据方面的处理,这时借助日期函数能够很好的实现查询。
| CURDATE() | 返回当前日期。 |
| CURTIME() | 返回当前时间。 |
|
YEAR() MONTH() DAY() | 返回指定的年月日。 |
| DATEDIFF(date1,date2) |
返回date1-date2的计算结果,仅将日期部分用于计算 计算日期差异天数等等。 |
效果展示:

这里日期也需要引号引起来。个人感觉datediff的功能比较方便,能够很快计算出两个日期之间的差异天数,算入职时间,入学时间等需要时间差的这种数据会比较方便。
总结
这里仅列出了一些常见的字符函数,数字函数和日期函数,不过通过具体实践能够体会到这些SQL函数的强大功能,特别注意的是,一些常见函数的记忆与使用以及函数参数代入要保持准确。
本文介绍了MySQL数据库中的单行和多行函数,包括字符函数、数字函数和日期函数。字符函数如LOWER()和UPPER()用于大小写转换,CONCAT()用于字符串连接,LENGTH()计算字符串长度等。数字函数如ROUND()进行四舍五入,MOD()求余数,ABS()返回绝对值。日期函数如CURDATE()获取当前日期,DATEDIFF()计算日期差。这些函数在数据库查询和数据处理中起到重要作用。
1576

被折叠的 条评论
为什么被折叠?



