MySQL学习之日期函数怎么使用

MySQL学习之日期函数怎么使用

获取 系统时间 函数

“NOW()” 函数 能够获得当前系统日期和时间,格式如下:“YYYY-MM-DD hh:mm:ss” (这里的小时单位是 24 小时制)

“CURDATE()” 函数 能够获取到当前系统的日期,格式如下:“YYYY-MM-DD”

“CURTIME()” 函数 能够获得当前系统时间,格式如下:“hh:mm:ss” (24小时制)

SELECT NOW();            -- 返回结果 "2020-06-10 17:22:51"  (示例)
SELECT CURDATE();        -- 返回结果 "2020-06-10"
SELECT CURTIME();        -- 返回结果 "17:22:52"

日期格式化 函数

“DATE_FORMAT()” 函数 用于格式化日期,可以帮助我们提取出非常有用的日期信息

语法如下:

DATE_FORMAT(日期, 表达式)

SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入职日期" FROM t_emp;

MySQL学习之日期函数怎么使用

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

日期函数练习

利用 “日期函数” ,查询生日那天是周几。

SELECT DATE_FORMAT("2018-01-01","%W");        -- 返回结果为 "Monday"

日期函数练习

利用 “日期函数” ,查询 1981 年上半年入职的员工人数有多少人?

SELECT COUNT(*)FROM t_empWHERE DATE_FORMAT(hiredate,"%Y") = 1981AND DATE_FORMAT(hiredate,"%m") <= 6;

MySQL学习之日期函数怎么使用

日期计算的注意事项

在 MySQL 中,两个日期之间是不能够直接进行相加或相减的;同时,日期也是不能够与数字进行相加、减的。

原因在于,日期是一个特殊计算单位,而且进制之间也不是普通的十进制那样。

虽然我们使用 日期 去进行 “+1” 的操作不会产生语法上的错误,但是得到的结果是纯数字,而不是我们想要的日期格式的结果。(示例如下)

SELECT ename, hiredate, hiredate+1 FROM t_emp;

MySQL学习之日期函数怎么使用

日期偏移计算

DATE_ADD() 函数 可以实现日期的偏移计算,并且在 时间单位的处理上,比较的灵活。

语法如下:

SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 时间单位)        -- INTERVAL 是 关键字

“DATE_ADD() 函数” 演示案例如下

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);         -- 得到的结果为 10 天 之后的日期时间
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE);         -- 得到的结果为 500 分钟 之前的日期时间
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY);         -- 得到的结果为 6 个月 3 天 之前的日期时间
SELECT DATE_FORMAT(DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE;     -- 返回 "%Y-%m-%d" 格式结果

计算日期之间相隔的天数

DATEDIFF() 函数 用来计算两个日期之间相差的天数,语法如下:

DATEDIFF(“日期”, “日期”)

查询 10 部门中年收入超过 15000 且工龄超过 20年 的员工的信息。

SELECT empno, ename, sal, hiredateFROM t_empWHERE deptno = 10 AND (sal + IFNULL(comm,0)) * 12 >=15000AND DATEDIFF(NOW(),hiredate)/365 >= 20-- IFNULL(expr1,expr2):IFNULL 函数的语法,当名列前茅个参数的值为null 的时候,则返回第二个参数的值-- DATEDIFF(expr1,expr2):DATEDIFF 函数的语法,计算名列前茅个日期与第二个日期的偏差时间差-- NOW():NOW 函数可以获得当前日期

MySQL学习之日期函数怎么使用

“MySQL学习之日期函数怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

文章标题:MySQL学习之日期函数怎么使用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/22630

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月2日 下午10:14
下一篇 2022年9月2日 下午10:15

相关推荐

  • thinkpad怎么重装系统

    thinkpad重装系统时需要按“F12”或者“Fn+F12”快捷键;重装系统通常需要设置bios从指定的系统盘启动,ThinkPad笔记本电脑基本上都支持启动热键,也就是说可以通过快捷键选择从U盘或光盘启动。 本教程操作环境:windows10系统、ThinkPad T14电脑。 thinkpad…

    2022年9月8日
    59800
  • windows realtek安装失败如何解决

    解决方法: 方法一: 1、首先我们点击左下角搜索框,搜索“设备管理器” 2、在搜索结果中打开“设备管理器” 3、打开后,展开“音频输入和输出”,将下方所有设备卸载掉。 4、卸载完成后再去尝试安装realtek高清晰音频管理器就可以了。 方法二: 1、安装失败也有可能是我们下载的安装包出现了问题,可以…

    2022年9月20日
    41200
  • Redis怎么实现保存对象

    redis保存对象 redis数据结构 String——字符串 Hash——字典 List——列表 Set——集合 Sorted Set——有序集合 redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredis…

    2022年9月2日
    22900
  • Javascript如何使用数据填充数组

    用数据填充数组 如果我们需要用一些数据来填充数组,或者需要一个具有相同值的数据,我们可以用fill()方法。 var plants = new Array(8).fill(‘8’);console.log(plants); // [‘8’, ‘8’, ‘8’,’8′, ‘8’, ‘8’,’8′, ‘…

    2022年8月30日
    15700
  • 如何进行APT41多漏洞网络攻击的分析

    漏洞利用 CVE-2019-19781 (Citrix Application Delivery Controller [ADC]) 2020年1月20日开始,APT41使用IP地址66.42.98 [.] 220尝试利用漏洞CVE-2019-19781(于2019年12月17日发布)。 时间线: …

    2022年9月15日
    17100
  • windows任务管理器被系统管理员停用怎么解决

    任务管理器被管理员停用的恢复方法 1、快捷键Win+R,输入gpedit.msc,回车。 2、依次展开“用户配置–>管理模板–>系统–>Ctrl+Alt+Del选项”,在右侧双击“删除任务管理器” 3、然后在“设置”选项卡中选择未配置或者已禁用选…

    2022年9月6日
    15400
  • windows中raid0和raid1的区别是什么

    raid0和raid1的区别 一、概念 1、RAID 0: RAUD 0就是多磁盘数据分组同步写读。 2、RAID 1: RAID 1就是多磁盘同数据同步写读。 二、安全性 1、RAID 0: 无数据备份功能,安全性差。 2、RAID 1: 盘间是相互备份的,安全性高。 三、性能 1、RAID 0 …

    2022年9月8日
    26000
  • linux能不能获取本地ip地址

    linux能获取本地ip地址。方法:1、利用“ifconfig -a”命令,该命令用于显示或者设置网络设备信息;2、利用“ip address”命令,语法为“ip address | grep eth0 | awk ‘{print$2}’”;3、利用“hostname -I”…

    2022年6月29日
    2.0K00
  • ASP.NET Core实现中间件的方式有哪些

    匿名函数 通常新建一个空的 ASP.NET Core Web Application,项目名字无所谓啦 在启动类里可以看到这么一句: // Startup.cs// …app.Run(async (context) =>{ await context.Response.WriteAsync…

    2022年8月29日
    14900
  • cad字体不显示数字怎么解决

    解决方法 1、首先我们打开软件,找到菜单栏上的格式,再找到下拉菜单上的标注样式管理器。 2、然后在跳转出来的对话框中,点击当前使用的标注样式,然后再点击右侧的修改。 3、然后在跳转的新页面里,我们点击文字的选项,在文字高度这一块把高度数值改大一些。 以上就是“cad字体不显示数字怎么解决”这篇文章的…

    2022年9月16日
    22700
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部