【发布时间】:2018-04-26 18:16:47
【问题描述】:
我有以下问题
set serveroutput on;
declare store_nbr number(9,0);
Begin
Select trim(NODE_ID) into store_nbr from HOST_STORE_PROFILE
where sysdate between EFCV_DTE and EXPR_DTE and TO_CHAR(NODE_ID) in
('12175','22671','16449');
dbms_output.Put_line(store_nbr);
end;
这可以正常工作并打印一个值(store_nbr)。
但是当我尝试用变量声明替换 select 语句中的“in”条件时,它没有按预期工作。
我是这样做的:
declare store_nbr number(9,0);
ca_store_nbr varchar2(4096) := '(12175,22671,25519)';
begin
Select NODE_ID into store_nbr from HOST_STORE_PROFILE
where sysdate between EFCV_DTE and EXPR_DTE and TO_CHAR(NODE_ID) in ||
ca_store_nbr;
dbms_output.Put_line(store_nbr);
end;
我没有将值放入 store_nbr。
第二个查询出了什么问题。
【问题讨论】: