簡體   English   中英

SQL:當“日期”是“今日”的公歷范圍時,將“日期”轉換為空

[英]SQL: Convert Date to Null when Date is certian range from Today

我正在使用Oracle Datebase,並且要將日期從今天算起超過一定的月數時,我想將日期轉換為null。

我使用的日期格式是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))

我知道我可以使用: SELECT SYSDATE FROM DUAL; 獲取今天的日期,但我不確定如何按月比較。

如果日期從今天起超過24個月,該如何將日期更改為null?

像這樣:

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

注意:您應該將日期作為date數據類型存儲在數據庫中。 輸出格式(默認情況下)是DD-MMM-YY格式。 但這只是格式化輸出的日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM