[英]How to declare a date variable in sqlplus to pass as bind variable?
我想在Sqlplus中将日期作为绑定变量传递。 我使用了此处提供的建议,但似乎声明为varchar2的已声明绑定变量?
variable my_date varchar2(30)
exec :my_date := '2013-10-01';
select sysdate ,:my_date from dual where sysdate > to_date(:my_date,'yyyy-mm-dd');
select sql_text, v.sql_id, name, value_string, datatype_string
from v$sql_bind_capture vbc
join v$sql v
using (hash_value)
where v.sql_id in ('8c5xc95vxc7yr', '6vn08798ax8bw', '61g3km3x621wt');
SQL_TEXT SQL_ID NAME VALUE_STRING DATATYPE_STRING
select sysdate ,:my_date from dual where sysdate > to_date(:my_date,:"SYS_B_0") 6vn08798ax8bw :MY_DATE VARCHAR2(32)
select sysdate ,:my_date from dual where sysdate > to_date(:my_date,:"SYS_B_0") 6vn08798ax8bw :MY_DATE VARCHAR2(32)
select sysdate ,:my_date from dual where sysdate > to_date(:my_date,:"SYS_B_0") 6vn08798ax8bw :SYS_B_0 yyyy-mm-dd VARCHAR2(32)
如何在SQLplus中将日期变量作为绑定参数传递?
更新我写了pl / sql代码块来传递日期变量作为绑定变量。 绑定变量类型会影响执行计划吗?
作为记录 ,你不能定义在SQL * Plus日期变量。
实际上,bind变量在您的代码中作为Varchar2传递,这正是AskTom所说的。 但是,显式日期转换方法将其转换为SQL引擎中的日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.