web-dev-qa-db-ja.com

Oracleは、過去1時間に更新されたレコードを取得します

以下は、過去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はOracleであり、それで失敗しています

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.

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

11
Poorna

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

select count(*) from my_table where last_updated_date >= (sysdate-1/24)
38
Ted Shaw