如何在MySQL查询中定义时间戳值?
我有一个如何在MySQL查询中定义时间戳值?,mysql,null,timestamp,Mysql,Null,Timestamp,我有一个timestamp类型的列。我想得到一个特定条件的最新可用时间,并加上1分钟。如果该条件导致记录为零,则得到NULL。为了正确操作它,我需要将此NULL视为默认/最小/零时间戳。我不确定如何在SQL查询中实现这一点(而不是在字段定义中)。我试过这个: SELECT COALESCE((SELECT MAX(`time`) FROM `table` WHERE false), 0) + INTERVAL 1 MINUTE SELECT COALESCE((SELECT MAX(`time`
timestamp
类型的列。我想得到一个特定条件的最新可用时间,并加上1分钟。如果该条件导致记录为零,则得到NULL
。为了正确操作它,我需要将此NULL
视为默认/最小/零时间戳。我不确定如何在SQL查询中实现这一点(而不是在字段定义中)。我试过这个:
SELECT COALESCE((SELECT MAX(`time`) FROM `table` WHERE false), 0) + INTERVAL 1 MINUTE
SELECT COALESCE((SELECT MAX(`time`) FROM `table` WHERE false), TIMESTAMP('0000-00-00 00:00:00')) + INTERVAL 1 MINUTE
SELECT COALESCE((SELECT MAX(`time`) FROM `table` WHERE false), TIMESTAMP('1970-01-01 00:00:00')) + INTERVAL 1 MINUTE
全部返回
NULL
。使用TIMESTAMP添加
和UNIX\u TIMESTAMP也没有奏效。据我所知,添加时间戳和日期总是会产生空值,甚至选择UNIX\u TIMESTAMP()+间隔1分钟
返回空值
。我想你所需要做的就是将+间隔1分钟
更改为+60秒
(秒)
从表
中选择最大值(时间
),其中为false
对我来说,这似乎是一个糟糕的声明,因为“WHERE false”永远不会返回任何内容(即为NULL)。。。是否缺少类似“WHERE column=false”的列?您应该尝试以下操作:
SELECT [whatever] FROM [wherever] WHERE EXISTS([the timestamp query])
看这里: