ORACLE 中如何将日期中年月日截取到年月

比如:我要将2018-12-27(是字符串类型),截取到2018-12。请问这样,该怎么写呢?... 比如:我要将2018-12-27(是字符串类型),截取到2018-12。请问这样,该怎么写呢? 展开
 我来答
freechan10
2019-11-14 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人: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

longrenyingdc8ecb1
2019-01-24 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2299万
展开全部
字符串类型的话,有两种办法
(则桐埋1)to_date然后截取。TO_CHAR(TO_DATE(字段,'YYYY-MM-DD'),'YYYY-MM')
(2)用instr定位第二孙蚂个-,然后位置减一,在用substr截取就可以。

substr(字段,1,instr(字段轮羡,'-',1,2)-1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Terry_wind
2019-01-23
知道答主
回答量:13
采纳率:100%
帮助的人:8.1万
展开全部
Oracle 中有自带的两个函数,TO_CHAR() 和TO_DATE(),楼主你上面问题,具体写枝做法如下猛猛衡:
SELECT TO_CHAR(TO_DATE('2018-12-27'知毕,'YYYY-MM-DD'),'YYYY-MM') RESULT FROM DUAL;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式