2014-01-09 40 views
0

我試圖做到這一點:/在要求用戶輸入變量名 - SQL加 - 甲骨文

 select * from tab where date= to_date('&date_dd/mm/yyyy','dd/mm/yyyy'); 

,但它要求'date_dd'而不是'date_dd/mm/yyyy'

如何逃脫/個性?我認爲問題在這裏!

+2

這不是一個有效的SQL語句...你想選擇從表中的所有日期的地方是一樣的用戶輸入?你期待什麼用戶輸入? – Ben

+0

我只是想,當我要求從輸入變量,指定的變量名稱必須包含/字符...是不可能的? – paolo

+0

爲什麼變量的_name_必須包含'/'?你能回答我的問題嗎?你想從你的表格中選擇哪些數據,以及你期望用戶輸入什麼內容?例如 – Ben

回答

1

您不能在變量的名稱中包含此「/」,所以它不會出現在提示符處。使用約什的解決方案:

PROMPT Please enter the date with format dd/mm/yyyy: 
select * from tab where date= to_date('&date','dd/mm/yyyy'); 

會問這麼:

SQL> @my_script 
Please enter the date with format dd/mm/yyyy: 
Enter value for date: 

您也可以使用ACCEPT例如在例如來自例如Oracle SQL*Plus ACCEPT Statements

accept date PROMPT 'Please enter the date with format dd/mm/yyyy:' 
select * from tab where date= to_date('&date','dd/mm/yyyy');