获取两个日期之间的数据在sql
问题描述:
我必须从两个日期之间的表中获取数据。获取两个日期之间的数据在sql
该表没有日期格式列,因为它有两列一个月和一年的其他列。
ID UsrId Month Year
212175 135564934 6 2016
212175 135564934 11 2013
212175 135564934 3 2014
212175 135564934 7 2015
212175 135564934 2 2016
212175 135564934 1 2016
我想得到两个日期(mm/yyyy)之间的行,从2014年1月1日到12/2016。
这应该在一个存储过程中,它将采用两个输入参数作为begindate和enddate。
谢谢!
答
一个简单的方法是使用算术:
where year * 100 + month between 201410 and 201612
如果你想日期计算:
where datefromparts(year, month, 1) between '20141001' and '20161201'
+1
我总是忘记datefromparts。我一直在写这个东西太长时间,而且没有理由在自己的代码中不得不经常以日期作为字符串。 –
你尝试过什么?您必须将这两列转换为日期才能真正使用它们。我建议使用日期列从开始将是一个更好的方法,而不是不同日期部分的列。 –