簡體   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