第1个回答 2017-08-14
getdate()
相关函数
SELECT GETDATE(),YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()),DATEDIFF(YEAR,'2000-08-14',GETDATE()),
DATEPART(YEAR,GETDATE());
第2个回答 2011-04-02
select case when getdate()<birth_of_date then partdate(getdate(),'yyyy')-partdate(birth_of_date,'yyyy') else partdate(getdate(),'yyyy')-partdate(birth_of_date,'yyyy')+1
end age from pats_in_hospital 没测试,用到一个partdate函数,截取日期年
第3个回答 2011-04-02
getdate()函数;,如果是sqlserver,那么有year()函数取出年份,其余自己解决。
第4个回答 2011-04-02
T-SQL:
select
case when month(getdate()) > month(birth_of_date) or (month(getdate()) = month(birth_of_date) and day(getdate()) > day(birth_of_date)) then datediff(year, birth_of_date, getdate()) + 1 else datediff(year, birth_of_date, getdate()) end as age
from pats_in_hospital本回答被提问者采纳
第5个回答 2017-08-17
select
case when to_char(sysdate,'mm-dd')<to_char(birth_of_date,'mm-dd') then to_number(substr(to_char(sysdate,'yyyy.mm.dd'),1,4))-to_number(substr(to_char(birth_of_date,'yyyy.mm.dd'),1,4))
when to_char(sysdate,'mm-dd')>=to_char(birth_of_date,'mm-dd') then to_number(substr(to_char(sysdate,'yyyy.mm.dd'),1,4))-to_number(substr(to_char(birth_of_date,'yyyy.mm.dd'),1,4))+1
else 0 end age
from pats_in_hospital
oracle中获取系统时间:sysdate