sql计算生日
⑴ 请问在sql中如何用出生年月计算年龄
select
(year(curdate())-year(birth))
from
........where
........
这样就可以了.birth是你的生日列。后面跟上你的查询条件即可输出符合条件的人的年龄。
希望有所帮助。
⑵ sql从身份证中取出出生日期
以oracle为例:假设你的tb_csm_indivial表里面CERTIFICATE_CODE字段存着身份证号:
select
to_date(substr(CERTIFICATE_CODE,7,8),'%yyyy%mm%dd')
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722'
;这样就查出来了这个身份证号的出生日期;
下面的脚本就是计算当前日期减去出生日期求出来的生日
select
EXTRACT(year
FROM
to_date('2018-11-22','yyyy-mm-dd'))
-
EXTRACT(year
FROM
to_date(substr(CERTIFICATE_CODE,7,8),'yyyy-mm-dd'))
years
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722';
至于剩下的年龄区间楼主自己应该知道怎么求了把
⑶ sql数据库如何计算生日
那就截取月日部分,把年拼接一个相同的值
select datediff(d,'2010-'+substring('2010-12-01',6,5),'2010-'+substring(另一个字段,6,5))
⑷ sql根据年龄计算出生年份
selectyear(getdate())-年龄
--例如今年25
selectyear(getdate())-25
--结果为1991
⑸ SQL如何判断生日
select * from 表名 where month(birthday)=month(date()) and day(birthday)=day(date())
⑹ SQL语句查询出生日期(age)大于等于2000年怎么写
你的age是年龄还是出生日期,如果是你说的出生日期,那么直接用year函数,year(age)>=2000就可以
select * from table where year(age)>=2000
如果age是字符型或者其他数据类型,那么可以进行转换,然后操作。
如果age是年龄,那么就要用时间相减实现,各个数据库时间相减的方式并不完全相同,这里就不写了。方式有两种,一种是计算现在时间和2000年的差距(比如现在结果是21.xx年),然后用年龄与21去比较,还有一种是现在时间减去年龄,然后和2000去比较。