あなたのクエリは、右一般的であるが、間違い、間違ったオペレータを持っている - あなたが使用する2 >=
の代わり>=
と<=
。
だから、正しいものは次のとおりです。
WHERE
recon_vr.paymentDateTime >= CURRENT_DATE - 1 + '18:00:00.000000'::time
AND
recon_vr.paymentDateTime <= CURRENT_DATE + '18:00:00.000000'::time
また、あなたがBETWEEN
を使用することができます。
WHERE
recon_vr.paymentDateTime BETWEEN CURRENT_DATE - 1 + TIME '18:00' AND CURRENT_DATE + TIME '18:00'
:
WHERE
recon_vr.paymentDateTime BETWEEN CURRENT_DATE - 1 + '18:00:00.000000'::time AND CURRENT_DATE + '18:00:00.000000'::time
問題を回避するには::time
であなたはこのようにそれを書くことができます...またはこのように:
デフォルトでは、すべての名前は、大文字と小文字を区別しません(あなたが簡単にあなたのケースで
recon_vr.paymentDateTime
を書くことができます)、あなたは二重引用符を使用していない限り - ところで、PostgresのでCamelStyle・オブジェクト名を使用すると、いくつかの不快な問題につながることができます10
WHERE
recon_vr.paymentDateTime BETWEEN CURRENT_DATE - 1 + INTERVAL '18h' AND CURRENT_DATE + INTERVAL '18h'
作成時にもしそうなら、二重引用符を永遠に使用する必要があります(recon_vr."paymentDateTime"
はあなたに純粋なラクダ風の列名を与えますが、それを扱うのに二重引用符を使う必要があります。