当前位置: 首页 > article >正文

6.2 MySQL时间和日期函数

以前我们就用过now()函数来获得系统时间,用datediff()函数来计算日期相差的天数。我们在计算工龄的时候,让两个日期相减。那么其中的这个now函数返回的就是当前的系统日期和时间。

1. 获取系统时间函数

now()函数,返回的这个日期和时间的格式是这样子的。Y代表的是年份,四个Y的话就代表是四位的这个年份数字大写的M代表的是max月份,然后D代表的是date,就是日期,就是小时、分钟,秒,这个小时默认是24小时制的。这一点大家注意一下,咱们数据库里边默认的最小的时间单位就是秒,不像编程语言,它最小的时间单位是毫秒。

2.日期格式化参数

DATA_FORMAT() 这个函数能帮我们从日期中提炼出非常有用的信息。这个函数的语法如下,第一个参数就是一个日期,第二个参数是一个表达式

占位符作用占位符作用
%Y年份%m月份
%d日期%w星期(数字)
%W星期(名称)%j本年第几天
%U本年第几周%H小时(24)
%h小时(12)%i分钟
%s%r时间(12)
%T时间(24)

练习1: 查询员工入职的年份


select ename,date_format(hiredate,"%Y") from t_emp

练习2:利用日期函数,查询明年你的生日是星期几

select date_format("2026-01-01","%w");

练习3:利用日期函数,查询1981年上半年入职的员工有多少人 

select
count(*)
from t_emp
where date_format(hiredate,"%Y")=1981
and date_format(hiredate,"%m")<=6

3. 日期计算的注意事项

在mysql数据库里边两个日期是不能直接进行加减乘除运算的,包括日期也不能和数字去加减乘除运算。因为咱们这个日期的运算对应的那个函数,比如说想算一下两个日期之间差了多少天,datediff(),可以把这个相差的天数帮我们算出来。如果说直接用两个日期进行相减的话,那么日期和日期没法直接相减,因为数字才可以加减乘除运算。所以mysql会把这个日期转成数字。

4. 日期偏移计算

首先我们看一下日期偏移计算的这个函数。比如说我现在想计算100天之后是几月几号儿,能不能单纯的把日期加上100,这是不对的。那么日期偏移计算的这个函数叫做date_add()的这个函数既可以往前去偏移日期,也可以往后去偏移日期。比如说一百天之后是几月几号,那你就写上是正100就行了。如果说想看一百天之前是几月几号,那你写一个-100就行了

 练习4:查询100天后是几月几号

select date_add(now(),interval 100 day);

练习5:6个月零3天前是几月几号

select date_add(date_add(now(),interval 6 month),interval -3 day);

5. 计算日期之间相隔的天数

DATEDIFF()函数


http://www.kler.cn/a/503170.html

相关文章:

  • 【容器逃逸实践】挂载/dev方法
  • 优化神马关键词排名原理(优化神马搜索引擎关键词排名规则)
  • thinkphp 5.0 结合redis 做延迟队列,队列无法被消费
  • 为AI聊天工具添加一个知识系统 之32 三“中”全“会”:推理式的ISA(父类)和IOS(母本)以及生成式CMN (双亲委派)之1
  • C++基础入门
  • 零样本极速复刻语音!F5-TTS本地部署教程
  • iChainfo 品牌升級為 ichaingo,打造 Web3 數據基礎設施新標杆
  • 【7】深入探索 Golang 指针:从基础到实战的全面指南
  • 用gpg和sha256验证ubuntu.iso
  • Ubuntu中批量重命名,rename
  • 物联网之传感器技术
  • 解锁数字化展厅:科技赋能下的全新体验
  • 机器学习 - 如何选择函数集合?
  • 【HarmonyOS Next NAPI 深度探索1】Node.js 和 CC++ 原生扩展简介
  • 信号与系统初识---信号的分类
  • 5Hive存储与压缩
  • AI数字人PPT课件视频——探索新一代教学视频生成工具
  • [Spring] SpringCloud概述与环境工程搭建
  • CAPL与CAN总线通信
  • sosadmin相关命令
  • pytest+request+yaml+allure搭建低编码调试门槛的接口自动化框架
  • 【PGCCC】PostgreSQL 事务及其使用方法
  • 【C++boost::asio网络编程】使用asio协程搭建异步echo服务器的笔记
  • JVM虚拟机的组成 笼统理解 六大部分 类加载子系统 运行时数据区 执行引擎 本地接口 垃圾回收器 线程工具
  • excel实现下拉单选
  • 服务器中常见的流量攻击类型包括哪些?