[MySQL] MySQL中的内置函数

这篇具有很好参考价值的文章主要介绍了[MySQL] MySQL中的内置函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  本篇文章主要是对MySQL中常见的内置函数进行了详细解释。例如有日期类函数、字符串类函数、数学类函数等等。希望本篇文章会对你有所帮助。 

文章目录

一、日期类函数

1、1 使用详解

1、2 实例演示

二、字符串函数

2、1 使用详解

2、2 实例演示

三、数学函数

四、其他函数


🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️

👀 专栏:MySQL 👀

💥 标题:MySQL中的内置函数💥

 ❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️

一、日期类函数

  MySQL 中有许多内置的日期类函数,用于处理日期和时间数据。以下是一些常用的日期类内置函数及其功能详解:

  1. NOW()

    • 功能:返回当前日期和时间。
    • 示例:SELECT NOW();
  2. CURRENT_DATE()

    • 功能:返回当前日期。
    • 示例:SELECT CURRENT_DATE();
  3. CURRRENT_TIME()

    • 功能:返回当前时间。
    • 示例:SELECT CURRRENT_TIME();
  4. DATE_FORMAT(date, format)

    • 功能:将日期按指定格式进行格式化。
    • 示例:SELECT DATE_FORMAT('2023-12-06', '%Y-%m-%d');
  5. DAYOFWEEK(date)

    • 功能:返回日期对应的星期几,1 表示星期日,7 表示星期六。
    • 示例:SELECT DAYOFWEEK('2023-12-06');
  6. DATEDIFF(date1, date2)

    • 功能:返回两个日期之间的天数差。
    • 示例:SELECT DATEDIFF('2023-12-06', '2023-12-01');
  7. DATE_ADD(date, INTERVAL value unit)

    • 功能:在指定日期上加上一定的时间间隔。
    • 示例:SELECT ADDDATE('2023-12-06', INTERVAL 7 DAY);
  8. DATE_SUB(date, INTERVAL value unit)

    • 功能:在指定日期上减去一定的时间间隔。
    • 示例:SELECT SUBDATE('2023-12-06', INTERVAL 7 DAY);
  9. TIMESTAMPDIFF(unit, start_datetime, end_datetime)

    • 功能:返回两个日期时间之间的差距,根据指定的单位(如秒、分钟、小时等)。
    • 示例:SELECT TIMESTAMPDIFF(SECOND, '2023-12-01 12:00:00', '2023-12-06 12:00:00');

  具体我们也可结合下图进行观看。注意:sql语句是不区分大小写的。所以下述实例演示均用小写。

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

1、1 使用详解

SELECT NOW();

  功能就是查询当前时间,精确到年月日 和 时分秒。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

CURRENT_DATE()

  功能即为查询当前日期。日期指的就是年月日。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

CURRRENT_TIME()

  功能就是查询当前时间,时间指的是时分秒。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

DATE_FORMAT(date, format)

  功能就是date按照我们想要的格式进行输出,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

DATEDIFF(date1, date2)

  功能就是计算两个日期的差值(date1 - date2),最后输出的单位是天。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

DATE_ADD(date, INTERVAL value unit)

  功能就是在date上加上我们所需要的时间。unit可以是年、月、日、时、分、秒。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

DATE_SUB(date, INTERVAL value unit)

  这个函数的功能和用法与date_add是相同的。过多也就不再解释。直接看实例:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

CURRENT_ TIMESTAMP()

  功能就是获取当前的时间戳。我们知道时间戳是一直变化的,直接看实例:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

TIMESTAMPDIFF(unit, start_datetime, end_datetime)

  前面我们学习了两个日期的差值,输出的结果单位为天。现在我们想输出以秒或者其他单位,就可以用timestampdiff。具体实例如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

1、2 实例演示

案例1:创建一张表,记录生日信息。

  具体表的创建如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  现在我们使用我们刚刚学到的内置函数进行插入信息。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  我们也可使用current_date()来进行插入,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

案例2:创建一个留言表 

  我们所需要的留言表就是能够记录下用户的留言,和其留言的时间。具体表结构如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  现在我们在进行插入数据,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  现在我们想查询所发表评论的日期,不需要时间,具体如下: 

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  想要统计一段时间内帖子的流量,例如查询十分钟内所有的评论,具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

二、字符串函数

2、1 使用详解

  我们在mysql中常见的字符串内置函数如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库  很多功能我们在学习语言的时候就已经学过,所以我们直接看其具体使用的案例。

charset (str)

  charset就是用来获取字符串所使用的字符集。查询一下员工表的工号和员工姓名所使用的字符集。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  在查询员工表中的信息时,使用charset函数获取所对应列使用的字符集即可,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

concat (str1, str2, ...) 

  concat功能将我们所需要的字符串拼接到一起,使用起来较为简单。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  当我们所拼接的并不是字符串类型时,会自动转换为字符串类型再进行拼接。

instr(string,substring)

  instr就是查询字串的功能。注意:找不到的话返回0,能找到就返回在string中的位置。默认的第一给字符的下标为1。具体使用如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

ucase(str) 

  ucase将小写字母转换为大写字母。遇到不是字母的就自动跳过。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

lcase(str)

  lcase将小写字母转换为大写字母。遇到不是字母的跳过。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

left(str,length)与 right(str,length)

  left 和 right的功能:从左或者从右取length个字符输出。相当于就是取字串,但是是从第一字符或者最后一个字符开始。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

length(str) 

  length是用来求取字符串str的长度的。注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数组算作一个字节,中文表示多个字节数(与字符集编码有关,utf-8中的一个中文占3个字节)。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  replace(str,search_str,repalce_str)的功能:先在str中进行查找,找到的话就进行替换。不再过多解释。

  strcmp(str1,str2)和 substring(str,pos,length)相信对大家来说都是再熟悉不过了。我们接下来看一下ltrim、rtrim、trim的使用

  其中trim(str)是去除str两侧的空格。ltrim(str)是去除str左侧的空格,rtrim(str)是去除str右侧的空格,具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

2、2 实例演示

要求显示student表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX 

  我们现在所使用的表如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  题目的要求就是将所有考生的信息格式化输出。这时候可用到concat来拼接字符串。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

求表中学生姓名占用的字节数 

  所占用的字节数我们就可以用length(str)来求,单位就是字节。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

EMP表中所有名字中有S的替换成'上海'

  EMP表是员工表,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  我们现在需要做的是将EMP表中的ename中带有'S'的替换成’上海‘。可以直接用replace,就是先查询再替换。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

截取EMP表中ename字段的第二个到第三个字符

  题目的要求就是找字串。我们可以直接用substring(str,pos,length)进行求取。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

以首字母小写的方式显示所有员工的姓名

  首先,我们需要得到ename的首字母,然后再将它变成小写。最后在与剩余的部分进行拼接即可。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  注意,substring(str,pos,length)省去第三个参数时默认就是截取到字符串末尾。

三、数学函数

  mysql中常用到数学类的内置函数如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库  其中数学函数的使用较为简单。我们这里就不再举实例演示了。直接看一下其用法即可。

abs(num)求绝对值

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

bin(num)十进制转二进制

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  注意:在转换小数时,默认只会转换整数部分,小数部分并不进行转换。

hex(num)十进制转十六进制

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

  注意:上述的16转换为十六进制时,并不是转换成了十,而是十六进制的1、0。

conv(num,from_base,to_base)将 num 从 from_base 进制转换为 to_base 进制

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

floor(num)向下取整,ceiling(num)向上取整

  相信这两个函数大家并不陌生。如果搞不清楚,建议画一条竖线进行标注。我们直接看使用:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

format(num,n) 格式化num,保留n为小数

 [MySQL] MySQL中的内置函数,MySQL,mysql,数据库

rand()生成随机之,范围[ 0.0,1.0)

  rand()生成的随机数是有范围的。但是我们可以对生成的结果进行算术运算,得到我们想要的随机值范围。假如我们想要生成的随机数单位为:0~100。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

mod(num1,num2)取模,求余

 [MySQL] MySQL中的内置函数,MySQL,mysql,数据库

四、其他函数

user()

  user函数功能:用于获取mysql连接的当前用户名和主机名。具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

database()

  database函数用于显示当前正在使用的数据库,具体如下图:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

ifnullval1 val2

  ifnull()函数与C语言中的三目操作符 :? 很相似。ifnullval1 val2)功能是如果val1null,返回val2,否则返回val1的值。具体如下:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库

md5()与password()

  md5()与password()是用于加密和处理用户密码的常见函数。这两个函数可以帮助保护用户密码的安全性。具体详细细节就不再过多解释,我们直接看起用法:

[MySQL] MySQL中的内置函数,MySQL,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-766483.html

到了这里,关于[MySQL] MySQL中的内置函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL8.0数据库开窗函数

          数据库开窗函数是一种在SQL中使用的函数,它可以用来对结果集中的数据进行分组和排序,以便更好地分析和处理数据。开窗函数与聚合函数不同,它不会将多行数据聚合成一行,而是保留每一行数据,并对其进行分组和排序。 常见的开窗函数包括ROW_NUMBER()、RANK()、

    2024年02月08日
    浏览(63)
  • MySQL 数据库中 CAST 函数如何使用?

          CAST 函数是 SQL 中的一种类型转换函数,它用于将一个数据类型转换为另一个数据类型。 2.1  将字符串转换为数字类型  2.2  将数字类型转换为字符串类型 2.3  将日期时间类型转换为字符串类型 2.4  将布尔类型转换为整型 2.5 将Interger 类型转换成 FLOAT 类型

    2024年02月15日
    浏览(61)
  • 【MySql】如何重置MySQL数据库表中的id

     方法一:原来的id取消自增和主键,只用于表格的排序。 新插入一个id2,自然会根据自增重新排列。删除id,id2改id即可。 使用这种方法不影响表中数据,从1递增开始递增 方法二:清空表,并重置id 一次性删除所有数据,不可恢复,无法回滚  方法三: 方法四:

    2024年02月12日
    浏览(48)
  • 【数据库】MySQL中的锁机制

    本系列包含: 【数据库】MySQL 的存储引擎 【数据库】B 树、B+ 树、索引 【数据库】从事务到锁机制 【数据库】MySQL 中的锁机制 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。 MySQL 数据库由于其自

    2024年02月04日
    浏览(49)
  • docker中的mysql数据库备份

             1、查看容器 docker ps 2、进入容器 docker exec -it 容器id /bin/bash 3、备份数据 mysqldump 数据库名称 -uroot -p /root/**.sql 回车输入数据库密码: 4、退出容器 exit 5、把容器中的文件拷贝出来 docker cp 容器id:/root/**.sql /root/ 例如: mysqldump test_db -uroot -p /root/test_db_0110.sql 常见错

    2024年02月12日
    浏览(49)
  • MySQL数据库基础:JSON函数各类操作一文详解

    很多日常业务场景都会用到json文件作为数据存储起来,而mysql5.7以上就提供了存储json的支撑。往常存储json一般都保留在pg库或者是hive库里面,现在mysql有了支持的话基本业务都可以用mysql来实现。现在mysql8.x版本对json字符出处理已经做的非常完善了。现在就让我们来详细了解

    2024年02月04日
    浏览(49)
  • Mysql中的对数据库字段的数据进行加密

    注意点:此处只对name字段进行了字段类型的修改。 ENCODE(\\\'123\\\',\\\'123\\\'): 第一个123:表示插入数据库中的数据(即将要被转换的数据) 第二个123:表示转换秘钥,可以任意起名。在解密的时候会需要用到。 结果: 注意点1 :此处DECODE的两个参数分别为 需要解密的内容(数据库中

    2024年02月09日
    浏览(65)
  • 【MySQL数据库】看完还有谁学不会 MySQL 中的视图?

    在MySQL中,视图是一种虚拟表,它是由一个或多个基本表的行或列组成的。视图并不实际存储数据,而是根据定义的查询语句动态生成结果集。视图可以简化复杂的查询操作,提高查询效率,同时也可以保护数据的安全性,隐藏敏感数据。 视图是一种虚拟表,它是由一个或多

    2024年02月10日
    浏览(54)
  • MYSQL 查询数据库中所有表中的数据量

    SELECT TABLE_NAME, TABLE_ROWS  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_SCHEMA = \\\'your_database_name\\\'; 将 your_database_name 替换为您实际使用的数据库名称。 执行以上查询语句后,将会获取到 your_database_name 数据库中所有表的数据量,其中 TABLE_NAME 列表示表名称, TABLE_ROWS 列表示表中的数据量。

    2024年02月11日
    浏览(66)
  • MySQL数据库基础(三):多表查询,子查询,开窗函数

    表与表之间的关系 在SQL语句中,数据表与数据表之间,如果存在关系,一般一共有3种情况: ① 一对一关系(高级) 比如有A、B两张表,A表中的每一条数据,在B表中有一条唯一的数据与之对应。 用户表user user_id(用户编号) 账号username 密码password 001 admin admin888 002 itheima

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包