我需要減去兩個日期。首先,我使用 to_char 將日期欄位轉換為年份,然后使用 to_number 轉換為數字。但是,減去兩年時,我在查詢中遇到錯誤:
to_char((order date),'yyyy')
to_char((beginning of the year),'yyyy')
我嘗試使用轉換為數字
to_number(to_char((order date),'yyyy'),'9999')
to_number(to_char((beginning of the year),'yyyy'),'9999')
uj5u.com熱心網友回復:
使用extract;它比你正在做的更簡單:
select extract(year from order_date) - extract(year from trunc(sysdate, 'yyyy')) as result
from some_table
uj5u.com熱心網友回復:
您可以使用以下EXTRACT功能:
EXTRACT(YEAR FROM SYSDATE) - EXTRACT(YEAR FROM order_date)
或者,如果您想獲得實際差異并測量整年(考慮月數而不是年數),那么您可以使用MONTHS_BETWEEN并除以 12 并向下取整:
FLOOR(MONTHS_BETWEEN(TRUNC(SYSDATE, 'YYYY'), order_date) / 12)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461894.html
