大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select floor(months_between(to_date(concat(extract(year from sysdate),'-10-31'),'YYYY-MM-DD'),to_date(生日的日期,'yyyy-mm-dd'))/12) from table_name
创新互联公司是一家集网站建设,定西企业网站建设,定西品牌网站建设,网站定制,定西网站建设报价,网络营销,网络优化,定西网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
floor 向下取整
months_between 日期相差的月份数
concat字字符串连接
extract(year from sysdate) 返回当前日期的年份
可用to_char函数将date类型转成字符类型。
如emp表中有如下数据:
如果计算生日的方法是当前日期的年份减去生日的年份,可用如下语句:
select ename,hiredate,to_char(sysdate,'yyyy')-to_char(hiredate,'yyyy') from emp;
查询结果:
根据出生日期查询年龄用的还挺多的。
简单分析一下,加入一个孩子五岁半了,那习惯认为他还是5岁。
用Oracle提供的months_between()函数,先获取出生日期和当前日期的月数,然后除以12向下取整:
使用的时候,将时间段替换成出生日期对应的字段即可。
如果,计算年龄用的次数非常多,最好写成自定义函数。