oracle中将选定日期(年月型)减去1年4
发布网友
发布时间:2023-10-13 03:40
我来回答
共3个回答
热心网友
时间:2024-12-03 04:23
1、取出extract函数选定日期的年部分,然后-1,在连接上月就行了
1) 取出系统日期的年部分: extract(year from sysdate)
2) 将取出的年部分转换成数字类型,然后减1就是上一年了
to_number(extract(year from sysdate))-1
3)取出系统日期的月份不:extract(month from sysdate)
4)与之前的上一年份相连即可
select (to_number(extract(year from sysdate))-1) || '' || extract(month from sysdate) from al;
2、使用to_char实现
1)将日期类型转换为字符类型,并取出年部分to_CHAR(sysdate,'yyyy')
2)将取出的年部分转换成数字类型,然后减1就是上一年了
to_number( to_CHAR(sysdate,'yyyy'))-1
3)将日期类型转换为字符类型,并取出月部分to_CHAR(sysdate,'MM')
4)与之前的年部分相连即可
select (to_number( to_CHAR(sysdate,'yyyy'))-1) || '-' || to_CHAR(sysdate,'MM') FROM DUAL;
热心网友
时间:2024-12-03 04:23
你日期是什么类型的字段
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
热心网友
时间:2024-12-03 04:24
你日期是什么类型的字段
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
这样没有考虑润年问题。