繁体   English   中英

如何在sqlplus中声明日期变量以作为绑定变量传递?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM