sql出生日期
A. SQL语句如何根据出生日期计算年龄
第一种:x0dx0a一张人员信息表里有一人生日(Birthday)列,跟据这个列,算出该人员的年龄x0dx0adatediff(year,birthday,getdate())x0dx0a例:birthday = -3-8'x0dx0agetDate()= -7-7'x0dx0a结果为:5x0dx0a这样结果是会返回该人员的大概年龄,但不精确.不会精确到月或日.x0dx0a按照上面测试的日期,该人员的实际年龄应该还颂唤不满5岁。在需要精确年龄的时候,就会有错.x0dx0a第二种:x0dx0aFLOOR(datediff(DY,birthday,getdate())/365.25)x0dx0aFLOOR函数:x0dx0aFLOOR(expr) 返回小于或等于expr的最大整数.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1x0dx0a这样就可以精确算出,该人员当前实际年龄了.x0dx0a测试:x0dx0abirthday = -7-8'x0dx0agetdate()= -7-7'x0dx0a算出结果为:6x0dx0ax0dx0a在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来。x0dx0a一种常用的方法是:to_number(to_char(sysdate,'yyyy'))x0dx0a还有一种更好的方孝樱改法,那就是使用oracle提供的Extract函数,使用方法巧判是:x0dx0aextract(year from sysdate) ,此方法获得的结果是数值型的 ,这种方法省掉了类型转换,更加简洁。x0dx0a相应的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)
B. 在SQL中新建表中的出生时间用哪种数据类型
规定使用date类型。
1.单击桌面上的“ManagementStudio”图标。
C. SQL语句查询出生日期(age)大于等于2000年怎么写
你的age是年龄还是出生日期,如果是你说的出生日期,那么直接用year函数,year(age)>=2000就可以
select * from table where year(age)>=2000
如果age是字符型或者其他数据类型,那么可以进行转换,然后操作。
如果age是年龄,那么就要用时间相减实现,各个数据库时间相减的方式并不完全相同,这里就不写了。方式有两种,一种是计算现在时间和2000年的差距(比如现在结果是21.xx年),然后用年龄与21去比较,还有一种是现在时间减去年龄,然后和2000去比较。