SQL:当Date为certian时,将Date转换为Null

时间:2016-04-07 12:42:41

标签: sql oracle date

我正在使用Oracle Datebase,我希望将日期从今天起超过一定月数时将其转换为空。

我使用的日期格式是$ awk 'NR==1 || $3=="all" && $1~/01:01$/' file

所以假设你有这张表:

dd-mm-yy

我知道我可以使用:WITH TEST_TABLE as (select '1' as num, '10-FEB-16' from dual union(select '2', '10-FEB-30' from dual) union(select '3', '10-FEB-50' from dual) union(select '4', '10-FEB-17' from dual)) 来获取今天的日期,但我不确定如何按月比较。

如果日期大于24个月,我如何将日期更改为空?

1 个答案:

答案 0 :(得分:0)

这样的事情:

update test_table
    set dte = (case when add_months(dte, -12) < sysdate then dte end);

注意:您应该在数据库中将日期存储为date数据类型。输出格式(默认情况下)是DD-MMM-YY格式。但这只是为输出格式化的日期。