0

タイプの列があります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

すべてのリターンNULLTIMESTAMPADDと UNIX_TIMESTAMPを使用しても、うまくいきませんでした。

4

3 に答える 3

0

私が覚えている限り、タイムスタンプと日付を追加すると常に null が返され、さらにSELECT UNIX_TIMESTAMP() + interval 1 minute返されますNULL。私はあなたがする必要があるのは(秒)に変更+INTERVAL 1 MINUTEすることだけだと思います+60

于 2012-12-08T14:35:36.567 に答える
0

次のようなことを試してみてください。

SELECT [whatever] FROM [wherever] WHERE EXISTS([the timestamp query])

ここを見てください: http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html

于 2012-12-08T14:41:52.983 に答える
0

SELECT MAX( time) FROM tableWHERE false

「WHERE false」は何も返さないため(NULL)、これは悪いステートメントのように思えます...「WHERE column = false」のような列がありませんか?

于 2012-12-08T14:37:55.453 に答える