63

特定の時間枠内で行を検索する必要があります。

select * 
from TableA 
where startdate >= '12-01-2012 21:24:00' 
  and startdate <= '12-01-2012 21:25:33'

つまり、タイムスタンプの精度が SECONDS の行を検索する必要があります。どうすればこれを達成できますか?

参考:startdate列の型はTIMESTAMPです。

4

2 に答える 2

140

to_timestamp()

文字列を適切な値to_timestamp()に変換するには、次を使用する必要があります。timestamp

to_timestamp('12-01-2012 21:24:00', 'dd-mm-yyyy hh24:mi:ss')

現在まで()

列がタイプDATE(秒もサポートする)の場合、使用する必要がありますto_date()

to_date('12-01-2012 21:24:00', 'dd-mm-yyyy hh24:mi:ss')

これをwhere条件にするには、次を使用します。

select * 
from TableA 
where startdate >= to_timestamp('12-01-2012 21:24:00', 'dd-mm-yyyy hh24:mi:ss')
  and startdate <= to_timestamp('12-01-2012 21:25:33', 'dd-mm-yyyy hh24:mi:ss')

ノート

to_timestamp()型の列で使用する必要はありませんtimestamp

于 2012-01-13T18:37:48.127 に答える