我需要比较MySQL中的日期,忽略DateTime
列中的时间部分.我try 了以下SQL.
SELECT * FROM order_table where order_date=date_format('2012-05-03', '%Y-%m-%d');
即使MySQL表中有日期2012-05-03 10:16:46
,它也不会检索任何行.在MySQL中比较日期时,如何忽略DateTime
字段中的时间部分?
我需要比较MySQL中的日期,忽略DateTime
列中的时间部分.我try 了以下SQL.
SELECT * FROM order_table where order_date=date_format('2012-05-03', '%Y-%m-%d');
即使MySQL表中有日期2012-05-03 10:16:46
,它也不会检索任何行.在MySQL中比较日期时,如何忽略DateTime
字段中的时间部分?
您可以使用DATE
功能:
SELECT col1, col2, ..., coln
FROM order_table
WHERE date(order_date) = '2012-05-03'
但是,如果您的表很大,并且索引为order date
,那么这会更有效:
SELECT col1, col2, ..., coln
FROM order_table
WHERE order_date >= '2012-05-03'
AND order_date < '2012-05-04'