
oracle中将选定日期(年月型)减去1年
推荐于2016-10-18 · 知道合伙人软件行家
关注

展开全部
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 dual;
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;
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 dual;
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;
展开全部
你日期是什么类型的字段
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你日期是什么类型的字段
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
这样没有考虑润年问题。
varchar2类型的话,直接substr(字段名,1,4)-1就行
要是date型的话
日期=to_char(日期,'yyyy')-1||to_char(mm/dd)
这样没有考虑润年问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |