从数据库加载 Qlikview 中的数据时使用 Where 子句

Using Where cluase while loading data in Qlikview From Database

在 Qlikview 从数据库加载数据时需要使用 Where 子句的帮助

下面是完美执行的脚本

    LET vCutOffDate  = MakeDate(2015,10,14);
    LOAD `CITY_NM`,
        `CST_NM`,
        `CST_TP`,
        `DATA_DATE`
    ;
    SQL SELECT `CITY_NM`,
        `CST_NM`,
        `CST_TP`,
        `DATA_DATE`
    FROM TEST.`ABC`
    ;

当我添加 "where" 子句时,它显示了大于 (>)、小于 (<) 和等于 (=) 运算符的奇怪行为, 脚本不为 < 和 = 运算符获取任何数据,而当我使用 > 运算符时获取所有数据。

下面是我尝试使用 where 子句的最终脚本

    LET vCutOffDate  = MakeDate(2015,10,14);
    LOAD `CITY_NM`,
        `CST_NM`,
        `CST_TP`,
        `DATA_DATE`
    ;
    SQL SELECT `CITY_NM`,
        `CST_NM`,
        `CST_TP`,
        `DATA_DATE`
    FROM TEST.`ABC`
    WHERE (`DATA_DATE`<'$(vCutOffDate)')
    ;

以下是我看到的日期值 如果我通过 Select_Fields 选项查看 DATA_DATE

    10/11/2015 0:00
    10/14/2015 0:00
    10/18/2015 0:00
    10/31/2015 0:00

我想问题出在日期格式上。这取决于数据库,需要哪种日期格式,但这应该可以。

LET vCutOffDate  = TimeStamp(MakeDate(2015,10,14), 'YYYYMMDD');
LOAD `CITY_NM`,
    `CST_NM`,
    `CST_TP`,
    `DATA_DATE`
;
SQL SELECT `CITY_NM`,
    `CST_NM`,
    `CST_TP`,
    `DATA_DATE`
FROM TEST.`ABC`
WHERE (`DATA_DATE`<'$(vCutOffDate)')
;