如何在使用SQLPlus时设置Oracle绑定变量?
示例:
SELECT orders.order_no FROM orders WHERE orders.order_date BETWEEN :v1 AND :v2
如何设置:v1
和:v2
的日期?
答案 0 :(得分:3)
请注意以下事项:
VARIABLE是一个SQLPlus命令。你不能用分号(;)来结束它。
在VARIABLE命令中,不要在变量名前面加上 冒号(:)。
绑定变量不能是数据类型" date" - 他们是某种形式的 字符值。
因此,在您的代码中,您必须使用to_date()
适当的格式模型或其他一些机制,将字符串转换为
日期。您的代码中目前缺少这一点。千万不要将日期与之比较
串!
以下简要演示。
SQL> variable v1 varchar2(20)
SQL> exec :v1 := '2015/12/22';
PL/SQL procedure successfully completed.
SQL> select 1 as result from dual where to_date(:v1, 'yyyy/mm/dd') < sysdate;
RESULT
----------
1
答案 1 :(得分:0)
共同点 您可以使用定义并使用&amp;
define x = 12 ;
select &x from dual;
或 varable
variable x refcursor;
begin
open :x for select * from dual connect by level < 11;
end;
/
print x