18

別の列と比較するには、タイムスタンプを持つ整数列からの分を追加する必要があります。

次に例を示します。

 SELECT t1.id_liame, t1.id_table, t1.periodicidade , t3.data_extracao, 
    CASE WHEN(NOW() < (e.data_extracao + INTERVAL t1.periodicidade || '
    MINUTES')) 
    THEN 'yes' ELSE 'no' END
    FROM table1 as t1 LEFT JOIN liame_has_extracao as t2 USING(id_liame)
    LEFT JOIN extracao as t3 USING(id_extracao)

l.periodicidadeは整数 (分)より大きい
かどうかを確認する必要があります。data_extracao(timestamp)NOW() + l.periodicidade(integer - minutes)

どうすればできますか?

4

1 に答える 1

31

次のようにクエリを記述できます。

SELECT 
   t1.id_liame,
   t1.id_table,
   t1.periodicidade,
   t3.data_extracao,
   CASE
      WHEN(NOW() < (t3.data_extracao + (INTERVAL '1 min' * t1.periodicidade))) 
      THEN 'yes' ELSE 'no'
   END
FROM table1 AS t1
LEFT JOIN liame_has_extracao AS t2 USING(id_liame)
LEFT JOIN extracao AS t3 USING(id_extracao)

ご覧のとおり、間隔に整数を掛けることができるのでINTERVAL '1 minute'、基本単位を定義して実際の時間間隔を掛けます。

それが役立つことを願っています

于 2012-07-02T14:28:07.123 に答える