SQL 时间函数攻略
SQL 时间函数是常用的函数之一,它们被用来操作与处理时间相关的数据,如日期、时间、时间戳等。本文将带你全面了解 SQL 时间函数,包括其常用的函数和使用场景。
常用的 SQL 时间函数
CURDATE() 和 NOW()
CURDATE() 和 NOW() 是 SQL 中最常用的时间函数,分别用于返回当前日期和时间。CURDATE() 返回的结果格式为 'YYYY-MM-DD',例如:
SELECT CURDATE();
输出结果为:
2021-11-17
而 NOW() 返回的结果包含了日期和时间,格式为 'YYYY-MM-DD HH:MM:SS',例如:
SELECT NOW();
输出结果为:
2021-11-17 16:23:45
DATE_FORMAT()
DATE_FORMAT() 函数用于将日期转换为指定格式的字符串,其基本语法为:
DATE_FORMAT(date, format)
其中,date 为日期,format 为转换格式的字符串。例如,将当前日期格式化为 'YYYY-MM-DD Weekday' 的字符串,可以使用如下语句:
SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d %W');
输出结果为:
2021-11-17 Wednesday
DATE_ADD() 和 DATE_SUB()
DATE_ADD() 和 DATE_SUB() 用于将日期加上或减去一定的时间间隔,例如,将当前日期加上 10 天,可以使用如下语句:
SELECT DATE_ADD(CURDATE(), INTERVAL 10 DAY);
输出结果为:
2021-11-27
同理,将当前日期减去 5 天,可以使用如下语句:
SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY);
输出结果为:
2021-11-12
使用场景举例
SQL 时间函数在数据库查询中用途广泛,以下是两个使用场景的举例:
按日期查询
假设有一个订单表 orders,其中有一个 date 字段表示订单日期,我们可以使用 DATE_FORMAT() 函数将日期格式化为指定格式的字符串,然后按照该字符串进行查询。例如,查询 2021 年 11 月 16 日的订单,可以使用如下语句:
SELECT * FROM orders WHERE DATE_FORMAT(date, '%Y-%m-%d') = '2021-11-16';
计算时间间隔
假设有一个日志表 logs,其中有 start_time 和 end_time 字段表示任务开始时间和结束时间,我们可以使用 TIMESTAMPDIFF() 函数计算任务执行时间间隔。例如,计算任务 ID 为 100 的执行时间间隔,可以使用如下语句:
SELECT TIMESTAMPDIFF(MINUTE, start_time, end_time) AS duration FROM logs WHERE task_id = 100;
输出结果为:
+----------+
| duration |
+----------+
| 120 |
+----------+
总结
SQL 时间函数是处理时间相关数据的重要工具,其常用的函数包括 CURDATE()、NOW()、DATE_FORMAT()、DATE_ADD() 和 DATE_SUB() 等。除了以上介绍的使用场景,时间函数还能应用到许多其他方面,例如日期比较、时间戳转换等。因此,掌握 SQL 时间函数是数据库开发和管理中必不可少的技能之一。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:sql 时间函数 整理的比较全了 - Python技术站