将julian日期与SQL中的Normal日期进行比较

时间:2017-08-16 20:19:44

标签: sql-server date

我正在尝试将朱利安日期转换为格里高利日期(MM/DD/YYYY)并将其与正常日期进行比较:

WHERE CONVERT(VARCHAR, dbo.ConvertToGregDate(ExpDate), 101) < '04/01/2017'

这将返回04/01之前的所有日期,而不考虑年份(例如,结果将不包括04/02/2016或05/01/2016)。

我在这里应该做些什么吗?

1 个答案:

答案 0 :(得分:2)

问题是你在比较字符串。如果您要这样做,那么您应该使用可以这种方式进行比较的日期格式:

where convert(varchar(8), dbo.converttogregdate(ExpDate), 112) < '20170401'

或者更好的是,不要将结果转换为字符串:

where dbo.converttogregdate(ExpDate) < '20170401'