20

以下は、過去1時間の更新を取得するために実行しているクエリです。

select count(*) 
from my_table 
where last_updated_date between to_date(to_char(sysdate,'YYYY-MM-DD HH24'))-1/24 and to_date(to_char(sysdate,'YYYY-MM-DD HH24'));

私たちのDBはオラクルであり、

ORA-01861: literal does not match format string
01861. 00000 -  "literal does not match format string"
*Cause:    Literals in the input must be the same length as literals in
           the format string (with the exception of leading whitespace).  If the
           "FX" modifier has been toggled on, the literal must match exactly,
           with no extra whitespace.
*Action:   Correct the format string to match the literal.

この失敗の理由は何ですか?

4

1 に答える 1

51

sysdateから1/24を引くだけで、1時間前の時刻を取得できます

select count(*) from my_table where last_updated_date >= (sysdate-1/24)
于 2012-09-11T07:45:12.227 に答える