oracle中的單引號怎麼轉義,Oracle中的單引號怎麼轉義

2022-01-31 20:38:32 字數 3488 閱讀 2649

1樓:刺友互

1、在轉義特殊字元的時候通常使用的就是單引號。但這種轉義方式很不直觀。

2、在oracle中使用q' 來對特殊字元進行轉義。q'轉義符通常後面使用!     {}  ()  <>等轉義符號。

3、也可以使用\ 。

4、也可以使用<>。

5、用上述的方法不僅直觀而且也不容易出錯。如果依然使用''   ""這種方式的話很容易在書寫的時候出現各種錯誤,而且不容易排錯。

6、如圖下錯誤,如果出現這種情況使用q'進行轉義很容易就可以看出錯誤的原因,而且也很方便。所以建議多使用q進行轉義。

2樓:龍氏風采

在oracle中,單引號有兩個作用:

1:字串是由單引號引用

2:轉義。

單引號的使用是就近配對,即就近原則。而在單引號充當轉義角色時相對不好理解1.從第二個單引號開始被視為轉義符,如果第二個單引號後面還有單引號(哪怕只有一個)。

sql> select '''' result from dual;

result

------

'第二個單引號被作為轉義符,第三個單引號被轉義,可將sql寫成這樣更好理解:

select ' '' ' from dual;

output:'

//2.連線符『||』導致了新一輪的轉義:

連線符號『||』左右的單引號沒有任何的關係,除非『||』是作為字串的一部分(這在動態sql中很常見)。

sql> select 'name'||'''' result from dual;result

------

name'

理解:||後面的作為一個字串,即前後是',中間又是一個密集型單引號串'',因此第一個為轉義功能.

sql> select 'name''''' result from dual;

result

------

name''

第一個和最後一個單引號作為字串引用符,中間四個單引號兩兩轉義.

//oracle中使用雙引號:

1)一般來說,字串中的雙引號僅僅被當作一個普通字元進行處理。

此時,雙引號不需要成對出現:

sql> select 'hh24"小時""mi""分"""ss"秒"' results from dual;results

-------------------------

hh24"小時""mi""分"""ss"秒"

//2)當出現在to_char的格式字串中時,雙引號有特殊的作用,就是將非法的格式符包裝起來,避免出現ora-01821: date format not recognized錯誤。

也就是說,去掉雙引號和其包含的字元後,剩下的應該是一個合法的格式串。

to_char在處理格式字串時,會忽略雙引號:

sql> select to_char(sysdate,'hh24"小時"mi"分"ss"秒"') results from dual;results

--------------

06小時39分51秒

//格式串為'hh24"小時"mi"分"ss"秒"';

去掉雙引號部分後,剩下的是'hh24miss',是一個合法的格式串。

不過即使真不知道雙引號的這個用法,也可以這樣來處理,雖然麻煩一點:

select to_char(sysdate, 'hh24') || '小時' ||to_char(sysdate, 'mi') || '分' ||

to_char(sysdate, 'ss') || '秒'

as result

from dual;

result

--------------

06小時40分18秒

3樓:

使用單引號來轉義,如:「 sql='select * from table where name='''||v_test||'''' 」。

4樓:匿名使用者

oracle中單引號用chr(39)轉義

5樓:匿名使用者

『』』的效果在資料庫中要這麼使用''''

oracle 插入帶有單引號的語句怎麼插入

6樓:匿名使用者

你這樣 如果要插入的字串中有單引號, 那麼就需要skip掉。

先用個簡單的例子, 比如你要顯示 i'm 27 years old 作為字串。

那麼:select 'i''m 27 yrs old' from dual; --> 這裡看好: 最外層2個 單引號是說明後面是字串。

裡面的內容變成了 i''m ..... 用了2個單引號。 第一個是表示「跳過」, 而不作為整個字串的結尾。 第二個是真的內容。

所以, 你如果要插入以上的sql整個句子作為字串,

那麼就:

insert into tablet (testcolumn)

values (' select * from abc where a=''ab'' and b=''aa'' and c=''aa''');

每個單引號前面加上一個單引號「跳過」 而不進行字串結尾處理。

7樓:松鼠就是我

複製貼上其中的內容,然後單獨編輯, 接著control+f 搜尋 , 裡面有個替換, 那麼就用 : 兩個單引號替換一個單引號,或者可以寫個程式去進行字串修改。

select * from abc where a='ab' and b='aa' and c='aa' 換成單引號由一個換成兩個

select * from abc where a=''ab'' and b=''aa'' and c=''aa'';

string sql = "insert into info (value) values('" + value + "')";(value是字串變數)

8樓:匿名使用者

select * from abc where a='ab' and b='aa' and c='aa'

換成單引號由一個換成兩個

select * from abc where a=''ab'' and b=''aa'' and c=''aa''

oracle插入帶有單引號的語句怎麼插入?

9樓:松鼠就是我

複製貼上其中的內容,然後單獨編輯, 接著control+f 搜尋 , 裡面有個替換, 那麼就用 : 兩個單引號替換一個單引號,或者可以寫個程式去進行字串修改。

select * from abc where a='ab' and b='aa' and c='aa' 換成單引號由一個換成兩個

select * from abc where a=''ab'' and b=''aa'' and c=''aa'';

string sql = "insert into info (value) values('" + value + "')";(value是字串變數)

單引號的作用,雙引號和單引號的用法是什麼?

引號的作用如下 1 表示引用。2 表示特定稱謂。示例 荷蘭有 歐洲花園 花卉王國 的美譽。3 表示特殊含義。示例 多災多難的黃河怎麼能成為中華民族的 搖籃 4 表示諷刺和嘲笑。示例 有幾個 慈祥 的老闆到菜場去收集一些菜葉,用鹽一浸,這就是他們難得的佳餚。5 突出強調。示例 從山腳向上望,只見火把排...

Linux裡單引號和雙引號的區別

shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的 和回車也不例外,但是字串中不能出現單引號。注意是所有,只是單引號本身不能夠出現在其中 雙引號用於保持引號內所有字元的字面值 回車也不例外 但以下情況除外 加變數名可以取變數...

php中怎麼把json雙引號前加上轉義符

arr array 男 age 30,job 程式猿 json json encode arr result addslashes json echo json資料 json.轉義結果 result stripslashes 函式刪除由 addslashes 函式新增的反斜槓。參考資料 通過ajax...