SELECT medicalDate
FROM PilotMedical
WHERE pilotID = '1'
这将获得体检的日期。但是,我需要在此体检到期时返回,即自该日期起一年,以及该月的最后一天。例如,如果我在 2012 年 1 月 12 日接受体检,它将在 2013 年 1 月 31 日到期。
medicalDate 是一个“日期”类型。
我怎样才能在 SQL 中做到这一点?基本上我想让它在 2012 年 1 月的任何时候返回 2013 年 1 月 31 日进行体检。
如果没有,我想我可以在 VB 中做到这一点。我对学习如何在 VB 中做到这一点更感兴趣,因为我不打算在我的余生中使用 VB
编辑:
这将获得该月的最后一天
--Last Day of Any Month and Year
DECLARE @dtDate DATETIME
SET @dtDate = '8/18/2007'
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@dtDate)+1,0))
LastDay_AnyMonth
ResultSet:
LastDay_AnyMonth
———————–
2007-08-31 23:59:59.000
现在正在寻找如何为此添加一年