Mysql时间戳比较日期字符串



我们有一个存储过程,今天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');

如果你指的是todayCURDATE(),那么试试这个,

SELECT * FROM tablename
WHERE DATE_FORMAT(A, '%d/%m/%Y') = DATE_FORMAT(CURDATE(), '%d/%m/%Y');

有可能日期格式不同,导致它们不相等。您可以使用datediff(date1, date2) = 0来解决这个问题。

http://www.w3schools.com/sql/func_datediff_mysql.asp

相关内容

  • 没有找到相关文章

最新更新