最简单的方法是使用 DATE() 函数,它仅返回日期部分:
或者:
- SELECT * FROM table_name
- WHERE DATE(date_column) = '2023-05-10';
如果是字符串需要用STR_TO_DATE做一下转换
- SELECT DATE(STR_TO_DATE('2022-09-15', '%Y-%m-%d')) AS formatted_date;
方法 2:使用 BETWEEN 运算符
BETWEEN 运算符允许您指定一个日期范围:
方法 3:使用 CURDATE() 函数
- SELECT * FROM table_name
- WHERE date_column BETWEEN '2023-05-10' AND '2023-05-10 23:59:59';
CURDATE() 函数返回今天的日期。您可以使用它来查询特定日期的偏移量:
- SELECT * FROM table_name WHERE DATE(date_column) = CURDATE() - INTERVAL 1 DAY;
方法4:使用DATE_FORMAT
注意:
- SELECT * FROM table_name
- WHERE DATE_FORMAT(date_column, '%Y-%m-%d') = 'yyyy-mm-dd';
确保 date_column 的数据类型为 DATE 或 DATETIME。
使用 DATE() 函数时,时间部分将被截断。
使用 BETWEEN 运算符时,范围的末端值应包含时间部分,以确保查询包含整个一天的数据。
文章点评