我有一个使用Oracle数据源的SSRS报告。我有一个查询;将日期参数传递给SSRS中的Oracle查询
select * from myTable t where
t.date between Date '2009-08-01' and Date '2009-08-04' + 1
此查询在Oracle和SSRS中均有效。当t.date列在08/01/2009和08/04/2009之间时,它从myTable获取所有行。 t.date列的类型是Date()
现在,我希望日期是参数。所以我将查询改为:
select * from myTable t where
t.date between Date :myDate and Date :myDate + 1
当我在SSRS中运行此查询时,它会提示我为myDate输入一个值。
我试过2009-08-01,'2009-08-01'都导致oracle sql处理错误:“Missing expression”。
任何想法?
使用的语法是字符串变量(即日期*字符串*) – 2009-08-04 22:29:05
这是不正确的。 IIRC使用datetime数据类型不能解决问题。问题是使用两次参数名称。 – ErikE 2010-08-31 00:26:16