Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL查询中定义时间戳值?_Mysql_Null_Timestamp - Fatal编程技术网

如何在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])
看这里: