根据年龄算出生日期

每天学一点2019 2018-05-30 11:04:20
有没有大神在了,感谢
select * from zlhis.v_emr_outpatient_patient
v_emr_outpatient_patient表中有生日、登记日期(就是当前时间)字段

如:生日=4岁4月、 登记时间=2018-5-30 09:59:08
出生日期格式yyyy-mm-dd格式,我主要需要年和月准确,天数不重要保证出生日期格式就可以了。
...全文
1327 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
生日格式就是 几岁几月 或者几岁 这两种
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
生日=4岁4月 都是这个格式吗 ?
生日都是这个格式4岁4月 是儿童,大人就是几岁
卖水果的net 2018-05-30
  • 打赏
  • 举报
回复
生日=4岁4月 都是这个格式吗 ?
卖水果的net 2018-05-30
  • 打赏
  • 举报
回复
好的,解决了就好。
  • 打赏
  • 举报
回复
可以 了
  • 打赏
  • 举报
回复
6_161760.png][/img]
卖水果的net 2018-05-30
  • 打赏
  • 举报
回复

SQL> 
SQL> create table test(sr varchar(10), rq date default sysdate);
Table created
SQL> begin
  2      insert into test(sr) values('5岁3月');
  3      insert into test(sr) values('8岁8月');
  4      insert into test(sr) values('8岁10月');
  5      insert into test(sr) values('43岁');
  6  end;
  7  /
PL/SQL procedure successfully completed
SQL> with m as (
  2    select
  3        regexp_substr(replace(sr,'月',''),'[^岁]+', 1, 1) sr_y,
  4        regexp_substr(replace(sr,'月',''),'[^岁]+', 1, 2) sr_m,
  5        sr,
  6        rq
  7    from test
  8  )
  9  select sr, rq, add_months(rq, -(sr_y * 12 + nvl(sr_m,0))) rq_new from m;
SR         RQ          RQ_NEW
---------- ----------- -----------
5岁3月     2018-05-30  2013-02-28
8岁8月     2018-05-30  2009-09-30
8岁10月    2018-05-30  2009-07-30
43岁       2018-05-30  1975-05-30
SQL> drop table test purge;
Table dropped

SQL> 

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧