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