【发布时间】:2015-05-20 08:42:16
【问题描述】:
我有一个从针对 SQL Server 日期时间字段的共享数据集查询生成的 SSRS 日期/时间参数。该参数在报表文本框中正确显示,但在嵌入式数据集查询中不起作用,即使针对生成日期时间值的同一表也是如此。
为了将参数用于数据集查询,我必须解析 where 子句的两侧以使其在 SSDT 中的 Preview 中工作:
(convert(varchar,invoice.snapshot_datetime,120)) = (convert(varchar,@snapshotdatetime,120))
这是非常低效的。
如何在不解析 invoice.snapshot_datetime 列的情况下让 where 子句起作用?
服务器详情
- SQL Server 语言是英语(美国)。
- SQL Server
dateformat是mdy(来自dbcc useroptions)。 -
Getdate()在 SSMS 中返回'2015-05-20 10:27:56.687'
【问题讨论】:
-
如果列和变量的数据类型相同,为什么还要转换呢?
-
它在我的最后工作正常我已经使用 DateTime 参数创建了一个报告,它获取了我想要的数据在你的最后有一些其他问题。请不要用单引号传递参数值.
-
@ZoharPeled - 如果我不转换,那么两边就不相等
-
@ArunGairola - 我的参数是从共享数据集创建的。我已经更新了这个问题。传递的参数不带引号。
-
您希望的时间分辨率是多少?您需要精确的秒数、分钟数、小时数还是日期?
标签: sql-server datetime reporting-services ssrs-2012