oracle SQLで別の問合せから戻された日付とシステム時刻の減算操作を実行したいとします。これまでのところ私は、別のクエリの結果を使用することができたが、私はそれは私に次のエラーoracleのsystimestampから日付を減算する問合せ11g
ORA-01722与えSYSTIMESTAMPから減算しようとすると:無効な番号
「01722を。 00000 - 無効な番号
*原因:指定された番号が無効です。
*処置:有効な番号を指定してください。以下は
また、私は時間間隔との差が、時間になりたいこの
select to_char(sys_extract_utc(systimestamp)-e.last_time,'YYYY-MM-DD HH24:MI:SS') as lag
from (
select ATTR_VALUE as last_time
from CONFIG
where ATTR_NAME='last_time'
and PROCESS_TYPE='new'
) e;
を試してみましたが、私のクエリ
select round(to_number(systimestamp - e.last_time) * 24) as lag
from (
select ATTR_VALUE as last_time
from CONFIG
where ATTR_NAME='last_time'
and PROCESS_TYPE='new'
) e;
です。
ありがとうございました。
P.S. ATTR_VALUEのデータ型はVARCHAR2(150)です。 e.last_time
のサンプル結果は「そのVARCHAR2(150)。私は今までにそれを変換する必要があることを意味し、」2016-09-05 22:43:81796
に丸めどのデータ型ATTR_VALUEですか? – sers
@sersそうですね、私が見る通り、VARCHAR2(150)です。つまり、これを日付に変換する必要があることを意味します –
なぜ 'DATE'を' VARCHAR'として保存していますか?それをしないでください。 –