【发布时间】:2014-06-30 20:33:55
【问题描述】:
我正在尝试通过比较日期值来检索记录,如下所示:
declare @fromdate as date
declare @todate as date
set @fromdate='2013-04-01'
set @todate='2013-04-13'
select createdon,
convert(varchar,PhoneCall.createdon,101) as createdon,
convert(varchar,@fromdate,101) as fromdate
from
PhoneCall
where convert(varchar,PhoneCall.createdon,101) >= convert(varchar,@fromdate,101) and convert(varchar,PhoneCall.createdon,101) <= convert(varchar,@todate,101)
比较有问题,我尝试使用各种转换格式,但没有收到正确的结果。
上面的查询是我最近试用的,虽然看起来是对的,并没有考虑到年份的对比。所以显示的结果如下:
Createdon ConvertedCreatedOn ConvertedFromDate
2013-05-08 14:13:16.000 05/08/2013 05/01/2013
2014-05-01 17:10:03.000 05/01/2014 05/01/2013
编辑: 这是我将用于报告的查询。 @fromdate 和 @todate 是用户手动输入的报告参数,因此我必须确保它们的格式与数据库日期格式相同。
【问题讨论】:
-
你需要使用过滤后的视图而不是表格,所以使用FilteredPhoneCall而不是PhoneCall
-
感谢您指出这一点。我阅读了更多关于 Views 的内容,我意识到我应该使用它们,这是一个很好的链接:blogs.msdn.com/b/crm/archive/2006/05/01/587823.aspx
标签: sql-server date format comparison dynamics-crm-2011