时间函数

二、时间函数

1. 使用 NOW() 、 CURDATE()、CURTIME() 获取当前时间

  • NOW() 可以用来返回当前日期和时间 格式:YYYY-MM-DD hh:mm:ss
  • CURDATE() 可以用来返回当前日期 格式:YYYY-MM-DD
  • CURTIME() 可以用来返回当前时间 格式:hh:mm:ss
    请编写 SQL 语句,向记录表 records 中插入当前的日期。
INSERT INTO records VALUES (NOW());

2. 使用 DATE()、TIME() 函数提取日期和时间

使用 DATE() 、 TIME() 函数从课程表 courses 中查询课程的名字 name 和课程创建时间 created_at,从课程创建时间 created_at 中提取出创建课程的日期与时间,用 created_date 和 created_time 作为结果集列名。

SELECT `name`, `created_at`, DATE_FORMAT(DATE(`created_at`),"%Y-%m-%d") AS `created_date`, DATE_FORMAT(TIME(`created_at`),"%H:%i:%s") AS `created_time` FROM `courses`;

3. 使用 EXTRACT() 函数提取指定的时间信息

  • EXTRACT() 函数用于返回日期/时间的单独部分,如 YEAR (年)、MONTH (月)、DAY (日)、HOUR (小时)、MINUTE (分钟)、 SECOND (秒)。
    请编写 SQL 语句,从课程表 courses 中查询所有课程的课程名称( name )和课程创建时间( created_at )的小时数,将提取小时数的列名起别名为 created_hour。
SELECT name,EXTRACT(HOUR FROM created_at )as created_hour FROM courses

4. 使用 DATE_FORMAT() 格式化输出日期

请编写 SQL 语句,查询 courses 表,查询课程创建时间,按照 ’yyyy-MM-dd HH:mm:ss’ 的格式返回结果,返回列名显示为 DATE_FORMAT。

SELECT DATE_FORMAT(created_at,'%Y-%m-%d %H:%i:%s')AS DATE_FORMAT FROM courses

5. 使用 DATE_ADD() 增加日期

请编写 SQL 语句,查询 courses 表中课程的课程创建日期,并将课程创建日期均推迟一天,最后返回课程名称 name 及修改后的课程创建时间,修改后的课程创建时间命名为 new_created 。

SELECT name,DATE_ADD(created_at,interval 1 day)AS new_created FROM courses ;

5. 使用 DATE_SUB() 减少日期

请编写 SQL 语句,查询 courses 表中课程的课程创建日期,将课程创建日期均提前一天,最后返回课程 id 、课程名称 name 及修改后的开课日期,修改后的课程创建日期命名为 new_created 。

SELECT id ,name ,DATE_SUB(created_at,interval 1 day)AS new_created FROM courses ;

6. datediff()方法和timestampdiff()方法的应用

6.1 DATEDIFF(date1, date2)
DATEDIFF(date1, date2):计算两个日期之间的天数差异。
date1和date2是日期值或日期时间值。

SELECT DATEDIFF('2023-07-01', '2023-06-28'); -- 返回结果为 3 SELECT DATEDIFF('2023-06-28', '2023-07-01'); -- 返回结果为 -3

6.2 TIMESTAMPDIFF(unit, start_datetime, end_datetime)

SELECT TIMESTAMPDIFF(DAY, '2023-06-28 12:00:00', '2023-07-01 10:00:00'); -- 返回结果为 2 SELECT TIMESTAMPDIFF(HOUR, '2023-06-28 12:00:00', '2023-06-29 14:30:00'); -- 返回结果为 26 SELECT TIMESTAMPDIFF(MINUTE, '2023-06-28 12:00:00', '2023-06-28 12:30:00'); -- 返回结果为 30

请编写 SQL 语句,查询 courses 表,计算 '2020-04-22' 与课程创建时间的月数差,返回列名显示为 MonthDiff。

SELECT TIMESTAMPDIFF(month,created_at,'2020-04-22')AS MonthDiff FROM courses ;

__EOF__

本文作者粥粥alg
本文链接https://www.cnblogs.com/3456939606zwp/p/17810624.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   粥粥alg  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示