Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sqlplus中声明日期变量作为绑定变量传递?_Sql_Oracle_Date_Sqlplus - Fatal编程技术网

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

如何在sqlplus中声明日期变量作为绑定变量传递?,sql,oracle,date,sqlplus,Sql,Oracle,Date,Sqlplus,我想在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

我想在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引擎中的日期。

因为,不能在SQL*Plus中定义日期变量

bind变量实际上在代码中作为Varchar2传递,这正是AskTom所说的。但是,显式日期转换方法将其转换为SQL引擎中的日期