我们有一个存储过程,今天IN参数是DATE。在这个过程中,aql将把这个today值与一个具有时间戳列的表进行比较。例如:
column A
2012-12-01 00:00:00
SQL: select * from t where A = today.
我们在phpmyadmin中运行这个过程,它运行正常。但它不能在命令行中工作。
为什么?
我猜你可能需要把这两个日期格式化成一个通用的格式。为了安全起见,如果需要的话,你甚至可以添加Date()
或str_to_Date
…如果您不确定列A
包含正确的日期…
Try this please:
SELECT * FROM tablename
WHERE DATE_FORMAT(A, '%d/%m/%Y') = DATE_FORMAT(TODAY, '%d/%m/%Y');
如果你指的是today
的CURDATE()
,那么试试这个,
SELECT * FROM tablename
WHERE DATE_FORMAT(A, '%d/%m/%Y') = DATE_FORMAT(CURDATE(), '%d/%m/%Y');
有可能日期格式不同,导致它们不相等。您可以使用datediff(date1, date2) = 0
来解决这个问题。