我想显示01.01.2014之后创建的数据 - 之前创建的数据不应显示在输出中。
到目前为止我得到了这个:
AND TO_CHAR(table1.datum,'IW') = 17 (number of the week - just a start from me)
AND TO_CHAR(table1.datum,'YYYY') = 2014 (shows only data from 2014)
你能帮助我吗?
答案 0 :(得分:0)
Select * from table
Where the_date_field < to_date('01-01-2014','dd-mm-yyyy')
Order by ..... /* If needed */
答案 1 :(得分:0)
我想显示01.01.2014之后创建的数据 - 之前创建的数据不应显示在输出中。
然后将日期条件放在过滤谓词中。
WHERE table1.datum > TO_DATE('01-01-2014','DD-MM-YYYY')
注意,这将不包括 >>在<01; 01-01-2014&#39; 上创建的行包括它们你需要大于或等于:
WHERE table1.datum >= TO_DATE('01-01-2014','DD-MM-YYYY')
例如,
SQL> WITH table1 AS(
2 SELECT to_date('20-12-2013','DD-MM-YYYY') datum FROM dual UNION ALL
3 SELECT to_date('01-04-2014','DD-MM-YYYY') datum FROM dual UNION ALL
4 SELECT to_date('20-10-2015','DD-MM-YYYY') datum FROM dual
5 )
6 SELECT * FROM table1
7 WHERE table1.datum >= TO_DATE('01-01-2014','DD-MM-YYYY')
8 /
DATUM
---------
01-APR-14
20-OCT-15
SQL>
因此,'20-12-2013'
已被过滤掉,并且您创建的行仅在'01.01.2014'
之后创建。