2012-08-29 53 views
4

在我使用的各種SQL產品中,問號(?)標記查詢中的輸入參數。在SQL中轉義問號(?)WHERE子句

如何逃脫的行爲和搜索包含一個問號,例如文字...

SELECT * 
FROM A_TABLE 
WHERE A_FIELD = 'This is a question mark not an input parameter?' 

...其中上面的問號是一個文字問號,而不是一個佔位符。如果答案是產品特定的,我目前正在使用Derby(又名Java DB)。

+2

我不認爲你顯示的查詢需要任何類型的轉義。有沒有特別的意義?在一個字符串裏面。但是如果你使用JDBC,你應該使用綁定變量(它處理需要轉義的事情,比如引號)。 – Thilo

+0

或者您是否想要詢問LIKE查詢? – Thilo

+0

有問題的查詢是用等號'where a_afield ='text?text''。我正在使用JDBC。當文本中出現問號時,我無法使其匹配。所以我應該看綁定變量? –

回答

4

根本不需要轉義?。它與WHERE條款沒有特別的含義,就像您發佈的情況一樣。

+0

除了我也遇到ASP經典運行時解釋任何單個問號作爲參數插入點的問題,然後拋出一個錯誤(例如:列「[資金?]」不起作用) – bobbysmith007