2011-04-04 123 views
2

我有一個吹了一個Oracle查詢時,我在這裏聲明的「& d」Oracle查詢與「&」特殊字符

select <field> from <table> where field = 'ABC&D'; 

甲骨文Variable窗口彈出要求的值:d。

任何想法?

+1

可能重複[如何插入包含一個「&」的字符串(HTTP://計算器.com/questions/152837/how-to-insert-a-string-which-contains-an) – APC 2011-04-05 06:07:55

回答

3

另一種選擇,如果你不希望使用SET命令,是使用串聯:

select <field> from <table> where field = 'ABC' || '&' || 'D'; 
+1

@Tommi ....這在C#代碼中很好用,我沒有選擇設置 – MikeTWebb 2011-04-11 19:55:51

6

通過關閉變量代換:

set define off 

然後運行查詢。 SQL * Plus正在將& D解釋爲運行時替代變量。

+0

@DCookie .....謝謝。但是,我在包中運行查詢。我不知道在哪裏,但在包中的SET代碼。你呢? – MikeTWebb 2011-04-04 23:21:57

+4

@MikeTWebb:你正在SQL * Plus中運行它。您在調用包之前運行SET。 – 2011-04-05 00:30:13

+0

@Jeffrey ....謝謝 – MikeTWebb 2011-04-05 14:39:33