SQL如何获取系统时间
例如:表pats_in_hospital,里面是有病人的出生日期birth_of_date,获取系统当前年月日,还要注意判断当前是不是过了病人的生日,若是过了,病人年龄应...
例如:表pats_in_hospital,里面是有病人的出生日期birth_of_date,获取系统当前年月日,还要注意判断当前是不是过了病人的生日,若是过了,病人年龄应该是当前年-出生年+1=病人年龄,若没过,那就直接相减就是病人年龄age。谢谢诶
展开
6个回答
推荐于2017-08-17
展开全部
SQL如何获取系统时间
sql读取系统日期和时间的方法如下:
--获取当前日期(如:yyyymmdd)
select CONVERT (nvarchar(12),GETDATE(),112)
--获取当前日期(如:yyyymmdd hh:MM:ss)
select GETDATE()
--获取当前日期(如:yyyy-mm-dd)
sql读取系统日期和时间的方法如下:
--获取当前日期(如:yyyymmdd)
select CONVERT (nvarchar(12),GETDATE(),112)
--获取当前日期(如:yyyymmdd hh:MM:ss)
select GETDATE()
--获取当前日期(如:yyyy-mm-dd)
展开全部
getdate()
相关函数
SELECT GETDATE(),YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()),DATEDIFF(YEAR,'2000-08-14',GETDATE()),
DATEPART(YEAR,GETDATE());
相关函数
SELECT GETDATE(),YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()),DATEDIFF(YEAR,'2000-08-14',GETDATE()),
DATEPART(YEAR,GETDATE());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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函数,截取日期年
end age from pats_in_hospital 没测试,用到一个partdate函数,截取日期年
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getdate()函数;,如果是sqlserver,那么有year()函数取出年份,其余自己解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询