当输入参数为空时,我想显示所有数据。
我可以在计算视图的过滤器表达式中使用以下代码。但是,当我在输入参数中传递一个值时,它不起作用。
if('$$CTUSER$$' = '',match("USER",'*'),in("USER", '$$CTUSER$$'))
请注意,$$IP_DE_CTUSER$$ 周围有单引号。
当我如下删除 $$ IP_DE_CTUSER $$ 周围的单引号时,传递的值被正确过滤,但是当参数留空时,它不起作用。
if($$CTUSER$$ = '',match("USER",'*'),in("USER", $$CTUSER$$))
我究竟做错了什么?我怎样才能使它工作?
下面是我的测试数据:
CREATE COLUMN TABLE TEST_IP_FILTER (
RESQTSN VARCHAR(30),COL1 VARCHAR(1),COL2 VARCHAR(1),COL3 VARCHAR(1),COL4 VARCHAR(1),COL5 VARCHAR(1),COL6 VARCHAR(1),COL7 VARCHAR(1),COL8 VARCHAR(10),USER VARCHAR(10));
INSERT INTO TEST_IP_FILTER VALUES ('00000000000000000000000', 'E', 'E', 'R', 'R', 'E', 'R', 'R', 'SD_000456', 'JACK');
INSERT INTO TEST_IP_FILTER VALUES ('00000000000000000000000', 'N', 'N', 'R', 'N', 'N', 'N', 'N', 'SFD_000486', 'HENRY');
INSERT INTO TEST_IP_FILTER VALUES ('00000000000000000000000', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'SFD_000489', 'PAUL');
计算视图: