oracle中将选定日期(年月型)减去1年
答案:3 悬赏:40 手机版
解决时间 2021-01-18 15:14
- 提问者网友:雾里闻花香
- 2021-01-18 03:06
oracle中将选定日期(年月型)减去1年
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-01-18 03:21
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;
全部回答
- 1楼网友:天凉才是好个秋
- 2021-01-18 05:38
你日期是什么类型的字段
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)
这样没有考虑润年问题。
- 2楼网友:春色三分
- 2021-01-18 04:06
你日期是什么类型的字段
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)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯