MySQL提供了多种方法可以查询日期与时间,以下是两种常用的示例:
方法1: 使用DATE_FORMAT函数格式化日期和时间
使用DATE_FORMAT函数可以将日期和时间以字符串格式输出,具体语法为:
SELECT DATE_FORMAT(date_column, format_string) FROM table_name
其中,date_column参数代表包含日期和时间的列的名称,format_string参数指定输出的日期和时间的格式。
示例1:查询当天的日期和时间
假设针对一张名为orders的表,其中包含一个名为order_date的列,它存储了订单创建的日期和时间。那么,以下查询可以得到当天的日期和时间:
SELECT DATE_FORMAT(order_date, '%Y-%m-%d %H:%i:%s') as order_time FROM orders
WHERE DATE_FORMAT(order_date, '%Y-%m-%d') = CURDATE()
其中,%Y-%m-%d %H:%i:%s表示输出的日期与时间的格式,CURDATE()函数用于获取当前日期。
示例2:查询本周的日期和时间
以下查询可以获取本周的所有日期和时间:
SELECT DATE_FORMAT(order_date, '%Y-%m-%d %H:%i:%s') as order_time FROM orders
WHERE YEARWEEK(order_date, 1) = YEARWEEK(CURDATE(), 1)
其中,YEARWEEK()函数用于获取给定日期所在的周数。第二个参数1表示每周的第一天是星期一,因为MySQL中默认每周的第一天是星期天,所以需要指定第二个参数为1。
方法2: 使用BETWEEN运算符查询日期和时间范围
使用BETWEEN运算符可以查询指定日期和时间范围内的数据,具体语法为:
SELECT * FROM table_name WHERE date_column BETWEEN start_date AND end_date
其中,date_column参数和table_name参数与前面相同,start_date和end_date分别代表日期和时间范围的起始日期和终止日期。
示例1:查询在某个时间段内的订单
以下查询可以查询2019年5月1日至2019年6月30日之间的所有订单:
SELECT * FROM orders WHERE order_date BETWEEN '2019-05-01' AND '2019-06-30'
示例2:查询在某个时间点之前或之后的数据
以下查询可以查询在2018年12月31日之前或之后的所有订单:
SELECT * FROM orders
WHERE order_date <= '2018-12-31' OR order_date >= '2019-01-01'
其中,<=和>=代表小于等于和大于等于的意思。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql如何查询日期与时间 - Python技术站