【mysql】—— 函数的基本介绍
前言:
- MySQL是一种常用的关系型数据库管理系统,它提供了许多内置的函数来进行数据操作和处理。本期,我将给大家介绍的就是关于 “函数” 的相关知识!!!
目录
(一)日期函数
MySQL提供了一系列用于处理日期和时间的内置函数,可以对日期值进行提取、格式化、计算和比较等操作
以下是一些常用的MySQL日期函数:
💨select now(): 返回当前日期和时间
💨 select current_date():获得年月日
💨select current_time():获得时分秒
💨 select current_timestamp():获得时间戳
💨 select data(date, format): 将日期按照指定格式进行格式化
💨date_add(date, INTERVAL value unit): 在日期上添加一定的时间间隔
💨date_sub(date, INTERVAL value unit): 在日期上删除一定的时间间隔
💨 select datediff(date1, date2): 计算两个日期之间的天数差
接下来,根据上述我们已经学到的知识。通过以下简单的案例带大家进行深刻认识:
创建一个留言表:
插入数据:
显示所有留言信息,发布日期只显示日期,不用显示时间:
请查询在2分钟内发布的帖子:
对于上述的理解,我们可以结合下面这个时间图:
【小结】
- MySQL的日期和时间函数提供了丰富的功能,通过结合这些函数和条件查询,可以灵活处理日期和时间数据,包括查询特定时间范围内的记录;
- 大家可以根据数据表结构和具体需求进行相应的调整和使用。
(二)字符串函数
MySQL提供了多种字符串函数,用于处理和操作字符串数据。
以下是一些常用的MySQL字符串函数的介绍:
💨 获取ename列的字符集
💨 CONCAT(str1, str2, ...): 将多个字符串连接在一起
💨 length(str): 返回字符串的长度
注意:
- length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;
- 如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)
💨 upper(str): 将字符串转换为大写
💨 lower(str): 将字符串转换为小写
💨replace(str, from_str, to_str): 替换字符串中的子串
💨 substring(str, start, length): 提取字符串的子串
💨 locate(substr, str[, pos]): 定位子串在字符串中的位置
【小结】
- 这些字符串函数可以帮助大家在MySQL中处理字符串数据,包括拼接字符串、提取子串、转换大小写、替换子串等。
(三)数学函数
MySQL提供了一系列的数学函数,用于在查询中进行数值计算和处理。
下面是一些常用的MySQL数学函数的详细解释:
💨 abs(x): 返回一个数的绝对值
💨 ceiling(x): 返回大于或等于给定数的最小整数(向上取整)
💨 floor(x): 返回小于或等于给定数的最小整数(向下取整)
💨 format(x, d)保留2位小数位数(小数四舍五入)
💨 rand(): 返回一个0到1之间的随机浮点数
(四)其它函数
除了上述函数之外,mysql 还提供了大量的函数,接下来,我简单列举几个在工作中时常用到的。
💨 user() :查询当前用户
💨 md5(str):对一个字符串进行md5摘要,摘要后得到一个32位字符串
💨 database():显示当前正在使用的数据库
💨 password()函数:MySQL数据库使用该函数对用户加密
💨 ifnull(val1, val2): 如果val1为null,返回val2,否则返回val1的值
总结
以上便是关于mysql中函数的相关介绍。接下来,简单的总结回顾下本文!!!
- 上述函数覆盖了字符串处理、数学计算以及日期和时间操作等常见需求,大家可以根据具体的业务需求选择适合的函数来进行数据操作和处理;
- 注意注意的是,在使用这些函数时,要根据具体的列名、表名和查询条件进行适当的调整。
到此,关于“函数”便讲解完毕了。感谢大家的观看与支持!!!
来源地址:https://blog.csdn.net/m0_56069910/article/details/132828988
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341