我正在尝试将朱利安日期转换为格里高利日期(MM/DD/YYYY
)并将其与正常日期进行比较:
WHERE CONVERT(VARCHAR, dbo.ConvertToGregDate(ExpDate), 101) < '04/01/2017'
这将返回04/01之前的所有日期,而不考虑年份(例如,结果将不包括04/02/2016或05/01/2016)。
我在这里应该做些什么吗?
答案 0 :(得分:2)
问题是你在比较字符串。如果您要这样做,那么您应该使用可以这种方式进行比较的日期格式:
where convert(varchar(8), dbo.converttogregdate(ExpDate), 112) < '20170401'
或者更好的是,不要将结果转换为字符串:
where dbo.converttogregdate(ExpDate) < '20170401'