SQL - 仅当列与当前时间相等时才选择行

时间:2013-06-28 09:51:36

标签: php sql datetime

我有一个PHP脚本,只有当B列的日期时间与当前时间相等时,才会显示A列的值。

Column A | Column B
------------------------------
House    | 2013-06-28 12:47:30
Dog      | 2013-06-28 12:47:52
Forrest  | 2013-06-30 14:54:12

在我们的例子中,如果当前时间是2013-06-28 12:47:44,那么脚本应该显示House and Dog。

我的想法是,只有当B栏与当前年 - 月 - 日时 - 分钟相同时,我才能获得该行,而不是秒。

我尝试了DATE_SUB(CURTIME() - 59),但它无法正常工作......我怎样才能用SQL做到这一点?

2 个答案:

答案 0 :(得分:3)

试试这个

SELECT * FROM table_name
WHERE STR_TO_DATE(column_b, '%Y-%m-%d %H:%i') = STR_TO_DATE(now(), '%Y-%m-%d %H:%i')

答案 1 :(得分:2)

试试这个

SELECT * FROM table_name
WHERE DATE_FORMAT(column_b, '%Y-%m-%d %H:%i') = DATE_FORMAT(now(), '%Y-%m-%d %H:%i')
  • 详细了解DATE_FORMAT() here