
oracle 截取日期字符串
我想截取日期型字符的年份值,用如下语句结果查询出来的成这样了。selectsubstr(to_date('2012-09-01','yyyy-mm-dd'),1,4)fr...
我想截取日期型字符的年份值,用如下语句结果查询出来的成这样了。
select substr(to_date('2012-09-01', 'yyyy-mm-dd'),1, 4) from dual
截取出来的字段成这样了:01-9
请高手指教。。 展开
select substr(to_date('2012-09-01', 'yyyy-mm-dd'),1, 4) from dual
截取出来的字段成这样了:01-9
请高手指教。。 展开
3个回答
展开全部
你to_date以后,后面只是指定显示的格式,并不是这个日期实际的值
实际的值应该是'01-9月 -12'
你substr以后当然是01-9了
你可以转化成string再进行substr
substr(to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy-mm-dd'),1, 4)
不过这是多此一举,你可以直接
to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy')
实际的值应该是'01-9月 -12'
你substr以后当然是01-9了
你可以转化成string再进行substr
substr(to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy-mm-dd'),1, 4)
不过这是多此一举,你可以直接
to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy')
展开全部
你执行一下:
select to_date('2012-09-01', 'yyyy-mm-dd') from dual
就知道为什么截取前四位是01-9了
select to_date('2012-09-01', 'yyyy-mm-dd') from dual
就知道为什么截取前四位是01-9了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select substr('2012-09001',1,4) from dual;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询