Oracle日付をWHEREに指定する方法

WHERE句で、条件指定する値の側にもTO_DATEは付けられるのね。。。
基本を知っていれば分かりそうなものだが、
いざとなると書けないので覚書。

SQL> SELECT * FROM plan_table
WHERE timestamp > TO_DATE(‘2011/06/03’, ‘YYYY/MM/DD’)
ORDER BY timestamp;

ちなみに、時刻まで指定したければ

SQL> SELECT * FROM plan_table
WHERE timestamp > TO_DATE(‘2011/06/03 00:00:00’, ‘YYYY/MM/DD HH24:MI:SS’)
ORDER BY timestamp

ちなみに、今日のデータを対象にしたければ

SQL> SELECT * FROM plan_table
WHERE timestamp > TO_DATE(TO_CHAR(SYSDATE, ‘YYYY/MM/DD’), ‘YYYY/MM/DD’)
ORDER BY timestamp

#SYSDATEを使っている時点で、今日以降のデータなんてあり得ない。
 不等号を使っているので、今日以降という言い方ができるがあえて、
 今日のデータと表記した。

Tags:

Comments are closed.