spss modeler sql为日期声明一个变量

时间:2019-03-06 07:54:26

标签: sql oracle spss spss-modeler

我想在SPSS Modeler中进行SQL查询。

我需要为日期使用一些变量。

SELECT
   CASE
      WHEN cust.LAST_VALID_ORDER > to_date('07.01.2018', 'mm.dd.yyyy') 
         THEN '6M'
FROM 
    T1

当我使用

DECLARE and SET

在查询中不起作用。

能否请您帮助使用SQL或任何其他方法来做到这一点?

我试图查找任何信息,但没有任何内容。

2 个答案:

答案 0 :(得分:0)

基于该问题,我不确定您要实现的目标,因此,如果我的回答不能满足您的目标,请随时澄清。

SPSS Modeler允许您指定可以在整个流中使用的参数,类似于SQL中DECLARESET的工作方式。

您可以在流属性(文件>流属性...)的Parameters选项卡上指定流参数。 在数据库源节点中,可以使用语法'$P-parameter_name'引用流参数,其中parameter_name是流参数的名称。

例如:

SELECT *
  FROM  [dbo].[REF_Holidays]
  WHERE [holidayDate] >= CONVERT(date, '$P-cut_off_date')

查询数据库时,它将使用名为cut_off_date的流参数的值作为WHERE子句的一部分。

您可以在https://www.ibm.com/support/knowledgecenter/en/SS3RA7_15.0.0/com.ibm.spss.modeler.help/dbsource_stream_params.htm

上找到有关在SQL查询中使用参数的更多信息。

答案 1 :(得分:0)

我宁愿使用WITH子句。

以d为( 选择    案件       当cust.LAST_VALID_ORDER> to_date('07 .01.2018','mm.dd.yyyy')          然后“ 6M” 从     T1)

从main_table m中选择*

虽然可能需要更多信息来更好地指导您。