2013-07-08 46 views
1

我想在我的INSERT聲明中插入特殊字符§如何在oracle數據庫中輸入「§」等特殊字符?

我的插件是:

INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 & Oracle_14'); 

如果我嘗試運行此查詢比我收到彈出式窗口,它讓我對Oracle_14輸入值,所以我的問題是如何能夠在輸入特殊字符,如§INSERT聲明爲oracle數據庫?

+0

[甲骨文PL-SQL轉義字符(爲一個 '&')]的可能重複(http://stackoverflow.com/questions/1137354/oracle-pl-sql-escape-character-for-a) –

+1

如果您正在使用SQL * Plus執行插入操作,那麼您需要** SET DEFINE OFF **,默認情況下,&字符用於指示SQL * Plus中的替換變量。 – mtwaddell

回答

1

嘗試'Java_22'||' &'||' Oracle_14'

3

'&'字符是默認的宏定義字符是SQL * Plus。如果你使用SQL * Plus來執行你的查詢有兩種方法可以解決此問題:

  1. 使用SET DEFINE OFF命令完全關閉宏定義,或
  2. 使用SET DEFINE <some_other_character>改變宏定義字符;例如您可以在當前會話的持續時間內發出SET DEFINE ^以將宏定義字符更改爲'^'。

我能想到的另一個選擇是使用CHR函數來避免輸入&字符。 CHR(38)是&字符等效,所以如果你使用

'Java_22 ' || CHR(38) || ' Oracle_14' 

你會得到與在那裏沒有&相同的結果通過SQL * Plus進行曲解。

分享和享受。

相關問題