0

我是 SPSS 新手,目前使用 SPSS modeler v18

我在流参数 DateDebut 和 DateFin 中正确声明了 2 个变量(开始日期和结束日期)

我在 SQL 节点中编写了以下查询

select distinct
            *
from ADMIN.FAIT_ENTT_TICK_ENT_2015_
where 
      date("DATE_TICK") >= date('$P-DateDebut')
  and date("DATE_TICK") <= date('$P-DateFin')

我确实输出了一个空表

我为参数填写的值是

DataDebut=2019-01-01
DateFin=2019-01-10

select distinct
    date('$P-DateDebut') as A, *
from ADMIN.FAIT_ENTT_TICK_ENT_2015_
where 
      date("DATE_TICK") >= date('2019-01-01')
  and date("DATE_TICK") <= date('2019-01-10')

工作正常...

你有什么主意吗?

(我的服务器是 Netezza 的)

非常感谢,尼古拉斯

4

1 回答 1

0

我无法测试您所拥有的确切场景,因为我无权访问 Netezza (IBM PureDate) 设备。但是,我没有立即看到您的 SQL 查询以及您如何合并流参数的任何问题。针对 MS SQL Server 执行,我使用这样的查询得到正确的结果:

SELECT *
  FROM [dbo].[sampleTable]
 WHERE [sampleDate] = '$P-selected_date'

有几件事可能会让你在这里绊倒:

  • 数据库中日期的格式和流参数一样吗?
  • 数据库中实际上是否有日期范围内的任何记录?

可能有助于识别问题的一件事是打开日志中的 SQL 消息并查看从源节点生成的 SQL 查询。请采取以下步骤:

  1. 从菜单中,选择Tools | Stream Properties | Options ...
  2. 从左侧菜单中,选择Logging and Status
  3. 确保选中Display SQL in the messages log during stream execution和的选项Reformat SQL for improved readability
  4. 将表节点直接附加到您的源节点并执行表节点
  5. 从菜单中,选择Tools | Stream Properties | Messages ... In the messages,您现在应该能够找到从源节点生成并在数据库中执行的 SQL,这可能会显示生成的 SQL 命令是否与您期望的不同。
于 2019-08-29T22:23:17.507 回答