17,377
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" ?>
<ROWDATA>
<ROW>
<C0>1</C0>
<SQDH>1000053992</SQDH>
<ZYHM></ZYHM>
<MZHM>10003</MZHM>
<BRLX>1</BRLX>
<SBBH></SBBH>
<FYXZID>XJ01</FYXZID>
<FYXZMC>自费</FYXZMC>
<BRZYID>10003</BRZYID>
<BRXM>门诊03</BRXM>
<BRXB>男</BRXB>
<CSRQ>1991-01-01</CSRQ>
<SFZH></SFZH>
<LXDH></LXDH>
<BRCH></BRCH>
<LXDZ></LXDZ>
<MZ>汉族</MZ>
<GJ>中国</GJ>
<SQYY>内乡县人民医院</SQYY>
<SQKS>急诊科</SQKS>
<SQYS>超级用户</SQYS>
<ZXKS>00040</ZXKS>
<JCSBLX>2</JCSBLX>
<SQSJ>2016-08-03 15:20:32</SQSJ>
<ZXSJ></ZXSJ>
<JCXM>16排CT头部平扫</JCXM>
<JCBW>颅脑</JCBW>
<ZS>咳嗽发烧三日</ZS>
<BS>发烧</BS>
<FZJC></FZJC>
<LCZD>感冒</LCZD>
<JCFY>280.0000</JCFY>
<SFJF>1</SFJF>
<SFQR>0</SFQR>
</ROW>
select case when months_between(sysdate,CSRQ) <1 then (sysdate-CSRQ)||'天'
when months_between(sysdate,CSRQ) >=1 and months_between(sysdate,CSRQ) <12 then trunc(months_between(sysdate,CSRQ))||'个月'
when months_between(sysdate,CSRQ) >=12 then trunc(months_between(sysdate,CSRQ)/12)||'岁'
end '年龄'
from v_jianchasqd
select brxm,brxb,
Case when floor(months_between(sysdate,csrq)/ 12)<1 then floor(months_between(sysdate,csrq)+N'月 else floor(months_between(sysdate,csrq)/ 12)+N'年' End; as brnl,
zxks as ksmc,mzhm,zyhm, ''as brch,jcfy,jcbw from v_jianchasqd where mzhm = 91006 and sfjf=1
with t as (
select 'a' as name,'1991-01-01' as csrq from dual
union all
select 'b' as name,'1993-01-07' as csrq from dual
union all
select 'c' as name,'2016-08-30' as csrq from dual
)
select name,age||'岁'||month||'月'||day||'天' from
(select name,trunc((sysdate-to_date(csrq,'yyyy-mm-dd'))/365) age,
trunc(mod((sysdate-to_date(csrq,'yyyy-mm-dd')),365)/30) month,
trunc(mod(mod((sysdate-to_date(csrq,'yyyy-mm-dd')),365),30)) day
from t)
不知道这样满不满足你要求,没有严格考虑闰年和31天的情况