如果列(日,月和年)在SQL Server中单独存储,请比较日期

pri*_*ion 1 sql sql-server sql-server-2008

我有3列Day,MonthYear类型的INT,是完全独立的.我需要的是将日期(格式:)传递给yyyy-mm-dd一个WHERE子句来检查以下日期是否匹配.处理这个问题的最佳方法是什么?

And*_*rew 5

在2012年它会是DateFromParts(Year,Month,Day),但你已经标记了2008年,这意味着我们必须回归旧的技巧.

dateadd(mm, (@YourYearValue - 1900) * 12 + @YourMonthValue- 1 , @YourDayValue - 1)
Run Code Online (Sandbox Code Playgroud)

将3个整数放入其中(通过连接中的列或适当的参数),并且您可以使用返回的日期.

SQL小提琴:http://www.sqlfiddle.com/#!18 / 9eecb/199​​88