博客
关于我
Mysql -------- data 函数
阅读量:799 次
发布时间:2023-02-10

本文共 2080 字,大约阅读时间需要 6 分钟。

MySQL中的日期函数是数据库开发中常用但又容易被忽视的功能,它们可以帮助我们精确处理日期和时间信息。本文将详细介绍MySQL中的日期函数及其操作方法。

1. now() 返回当前的日期和时间

now() 是一个强大的函数,它能够返回数据库服务器的当前日期和时间。它的返回格式依赖于数据库的时区设置,默认通常为'YYYY-MM-DD HH:MM:SS'。

示例:

SELECT now() AS now_time;

2. curdate() 返回当前的日期

curdate() 函数专门返回当前日期,不包含时间部分。它的结果格式与 now() 类似,但只包含日期信息。

示例:

SELECT curdate() AS today_date;

3. curtime() 返回当前的时间

curtime() 函数专门返回当前的时间,格式同上述函数,但只包含时间部分。

示例:

SELECT curtime() AS current_time;

4. date() 提取日期或日期/时间表达式的日期部分

date() 函数用于从包含日期和时间的表达式中提取仅日期部分。它非常有用,当我们只需要日期信息时,可以避免处理时间部分。

示例:

SELECT date(now()) AS date_only;

5. extract() 函数用于返回日期/时间的单独部分

extract() 函数可以提取日期或时间中的单独部分,例如年、月、日、小时、分钟等。它接受一个单位参数,可以是以下值:

  • 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

示例:

SELECT EXTRACT(YEAR_MONTH FROM NOW()) AS year_mon;
输出:2022-02

6. date_add() 给日期添加指定的时间间隔

date_add() 函数用于在日期上添加指定的时间间隔。它接受三个参数:日期表达式、间隔表达式和时间单位。时间单位与 extract() 函数中的单位一致。

示例:

SELECT NOW() AS now, DATE_ADD(NOW(), INTERVAL 1 HOUR) AS time_add;

7. date_sub() 从日期减去指定的时间间隔

date_sub() 函数与 date_add() 类似,但用于从日期中减去指定的时间间隔。

示例:

SELECT NOW() AS now, DATE_SUB(NOW(), INTERVAL 1 HOUR) AS time_sub;

8. datediff() 返回两个日期之间的天数

datediff() 函数用于计算两个日期之间的天数。它默认使用服务器的时区设置。

示例:

SELECT DATEDIFF('2020-02-03', '2020-02-02') AS diff_days;

9. date_format() 用不同的格式显示日期/时间

date_format() 函数允许我们将日期和时间按照指定的格式进行格式化。常见的格式字符包括:

  • %a:缩写星期名
  • %b:缩写月名
  • %c:月份的数值
  • %D:带有英文前缀的月中的天
  • %d:月份的天数(00-31)
  • %e:月份的天数(0-31)
  • %f:微秒
  • %H:24小时制的小时
  • %h:12小时制的小时
  • %i:分钟(00-59)
  • %j:年中的天数(001-366)
  • %k:24小时制的小时
  • %l:12小时制的小时
  • %M:月份的名称
  • %m:月份的数值(00-12)
  • %p:AM或PM
  • %r:12小时制的时间,包含秒
  • %S:秒(00-59)
  • %s:秒(00-59)
  • %T:24小时制的时间
  • %U:周(00-53),星期日为第一天
  • %u:周(00-53),星期一为第一天
  • %V:周(01-53),星期日为第一天,与 %X 使用
  • %v:周(01-53),星期一为第一天,与 %x 使用
  • %W:星期名
  • %w:周的天数(0=星期日,6=星期六)
  • %X:四位年份,其中星期日为第一天,与 %V 使用
  • %x:四位年份,其中星期一为第一天,与 %v 使用
  • %Y:四位年份
  • %y:两位年份

示例:

SELECT DATE_FORMAT(NOW(), '%b %d %Y %h:%i %p') AS formatted_date;
输出:Feb 15 2023 10:30 AM

总结

以上函数为MySQL中与日期和时间相关的重要函数提供了全面的介绍。通过合理运用这些函数,可以在数据库开发中更高效地处理日期和时间信息。如果需要更深入的学习,可以参考MySQL官方文档或相关技术博客。

转载地址:http://ulffk.baihongyu.com/

你可能感兴趣的文章
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>