ORACLE 中如何将日期中年月日截取到年月
比如:我要将2018-12-27(是字符串类型),截取到2018-12。请问这样,该怎么写呢?...
比如:我要将2018-12-27(是字符串类型),截取到2018-12。请问这样,该怎么写呢?
展开
3个回答
展开全部
1、创建测试表,create table test_date(v_date date);
2、插入谨老测试数据,
insert into test_date
select sysdate - level * 10 from dual connect by level < 100
3、查询表中所有记录,select * from test_date,可以看到时间格式为年月日时分氏虚秒,
4、编写sql,将时间截祥核升取到年月,
select t.*,
to_char(v_date, 'yyyymm') v_date_mon1,
trunc(v_date, 'mm') v_date_mon2
from TEST_DATE t
展开全部
字符串类型的话,有两种办法
(则桐埋1)to_date然后截取。TO_CHAR(TO_DATE(字段,'YYYY-MM-DD'),'YYYY-MM')
(2)用instr定位第二孙蚂个-,然后位置减一,在用substr截取就可以。
substr(字段,1,instr(字段轮羡,'-',1,2)-1)
(则桐埋1)to_date然后截取。TO_CHAR(TO_DATE(字段,'YYYY-MM-DD'),'YYYY-MM')
(2)用instr定位第二孙蚂个-,然后位置减一,在用substr截取就可以。
substr(字段,1,instr(字段轮羡,'-',1,2)-1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Oracle 中有自带的两个函数,TO_CHAR() 和TO_DATE(),楼主你上面问题,具体写枝做法如下猛猛衡:
SELECT TO_CHAR(TO_DATE('2018-12-27'知毕,'YYYY-MM-DD'),'YYYY-MM') RESULT FROM DUAL;
SELECT TO_CHAR(TO_DATE('2018-12-27'知毕,'YYYY-MM-DD'),'YYYY-MM') RESULT FROM DUAL;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |