我在Oracle的1列中有以下值:
20123103
20113112
20103006
数据类型为varchar。
我需要回去1年,然后在Oracle中找到相同格式的日期。
所以,输出应该是:
20123103 -> 20110104
20113112 -> 20110101
20103006 -> 20090107
请告知。
答案 0 :(得分:2)
您可以将其转换为日期,减去一年,然后将其格式化为字符串:
SELECT TO_CHAR(TO_DATE(date_column, 'YYYYDDMM')
- INTERVAL '1' YEAR
+ INTERVAL '1' DAY,
'YYYYDDMM')
FROM my_table