搜尋
首頁資料庫Oracleoracle的轉義字元是什麼

在oracle中的轉義字元:1、單引號,用於引用字串或對自身轉義;2、雙引號,用於將非法的格式符包裝起來;3、“&”也就是and符號,用來接連兩個轉義自身;4、Escape,用來指定一個非特殊符號為轉義符。

oracle的轉義字元是什麼

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle的轉義字是什麼

1、Oracle 特殊字元轉義

關鍵字:oracle    轉義               i plsql

在plsql裡邊執行:

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'

這條sql語句往資料庫的pageurl欄位放進去了一個url位址,但是執行的時候卻並非那麼理想,因為這其中有一個oracle的特殊字符,需要進行轉義,那就是字元'&'.

怎麼處理上例中的特殊字元?

兩個方法:

       1) update userinfo setpageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'

        2) update userinfo setpageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'

#其中||是連字符, chr( 38)跟ASCII的字元轉碼是一致的。

plsql中也可以set define off來關閉特殊字符,也可以用show define來查看有些特殊定義的字符。

2、oracle 如何轉義特殊字元

問: 如何轉義底線_

select * from ng_values where name like 'lady_%'

jieguo 結果顯示lady_test,lady_test,lady1

#正確結果應該是:lady_test,lady_test

不包括lady1

請各位給出轉義方法,3ks

answer:

select ... from ... where ... like '/_%' escape '/';

3、

insert into t(col) values(chr(ascii('&'))) ;

(方法一)

範例:插入特殊字元'&'

SQL> SHOW DEFINE
define "&" (hex 26) ? <--- DEFINE的default值是 ‘&’
SQL> SET DEFINE OFF
SQL> SHOW DEFINE
define OFF
SQL> INSERT INTO <table_name> VALUES (&#39;AT&T&#39;);

/

1 row created

(方法二)

SQL> SHOW ESCAPE
escape OFF <--- ESCAPE的default值是 OFF
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
escape "\" (hex 5c)
SQL> INSERT INTO temp_table VALUES (&#39;select * from emp where ename =\&1&#39;);

1 row created.

#;

幾個測試方法:

SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SQL>   create   table   a  (b   varchar2(10));  
Table   created  
SQL>   insert   into   a  values(&#39;_a&#39;);

1   row   inserted  

SQL>   select   B   from  A   where   instr(b,&#39;_a&#39;)>0;  
B  
----------  
_a  
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;

先啟動轉義符  

set   escape   on  

select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;

注意

在Oracle中雙引號」不是轉義字符,因此儲存直接儲存就可以了,不需要轉義了。

oracle轉義符號有:

1,單引號

在ORACLE中單引號有兩個作用: 1)引用字串;2)對自身轉義。

引用字串時,單引號是成對出現的;而對自身的轉義,也必定是雙數的,所以,一個sql語句中,單引號必定是成對的.

Select &#39;abc&#39; a,&#39;&#39; b, &#39;&#39;&#39;&#39; c, &#39; &#39;&#39; &#39; d From Dual;

複雜轉義字串可用連接符||拆分,便於理解。連接符號'||'左右的單引號沒有任何的關係,除非'||'是作為字串的一部分(這在動態SQL中很常見)。

Select &#39;name&#39; || &#39;&#39;&#39;&#39;&#39;&#39; a, &#39;name&#39;&#39;&#39;&#39;&#39; b From Dual;
Output:name&#39;&#39;  name&#39;&#39;

2,雙引號

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

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

Select &#39;hh24"小时""mi""分"""ss"秒"&#39; Results From Dual;
Output:hh24"小时""mi""分"""ss"秒"

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

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

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

Select To_Char(Sysdate, 'hh24"小時"mi"分" ss"秒"') As "當前時間/時分秒"  From Dual;

Output:09小時05分08秒--別名中也有此應用

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

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

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

Select To_Char(Sysdate, 'hh24') || '小時' || To_Char (Sysdate, 'mi') || '分' || To_Char(Sysdate, 'ss') || '秒' As Result From Dual;

Output:09小時05分08秒

3,&(and符號)

用來識別/設定自訂變數,後需跟變數名稱;如需作為字元使用,需使用Chr(38),或者接連兩個&&(轉義自身)

Select Chr(38) a, &#39;Tom&&Jerry&#39; b, &#39;Gun &#39;&#39;N Roses&#39; c From Dual;
Output:&    Tom&Jerry    Gun &#39;N Roses

4, Escape(指定轉義符)

指定一個非特殊符號為轉義符,多用在通配符轉義

#
Select Table_Name From User_Tables Where Table_Name Like &#39;TB=_%=_%&#39; Escape &#39;=&#39;;
Output:TB_STUDENT_SCORE--筛选以TB开头,中间有两个_的表名

推薦教學:《

Oracle影片教學

以上是oracle的轉義字元是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Oracle軟件的角色:簡化業務流程Oracle軟件的角色:簡化業務流程May 10, 2025 am 12:19 AM

Oracle軟件通過數據庫管理、ERP、CRM和數據分析功能簡化業務流程。 1)OracleERPCloud自動化財務、人力資源等流程;2)OracleCXCloud管理客戶互動,提供個性化服務;3)OracleAnalyticsCloud支持數據分析和決策。

Oracle的軟件套件:解釋的產品和服務Oracle的軟件套件:解釋的產品和服務May 09, 2025 am 12:12 AM

Oracle的軟件套件包括數據庫管理、ERP、CRM等,幫助企業優化運營、提高效率、降低成本。 1.OracleDatabase管理數據,2.OracleERPCloud處理財務、人力資源和供應鏈,3.使用OracleSCMCloud優化供應鏈管理,4.通過API和集成工具確保數據流動和一致性。

MySQL與Oracle:許可,功能和福利MySQL與Oracle:許可,功能和福利May 08, 2025 am 12:05 AM

MySQL和Oracle的主要區別在於許可證、功能和優勢。 1.許可證:MySQL提供GPL許可證,免費使用,Oracle採用專有許可證,價格昂貴。 2.功能:MySQL功能簡單,適合Web應用和中小型企業,Oracle功能強大,適合大規模數據和復雜業務。 3.優勢:MySQL開源免費,適合初創公司,Oracle性能可靠,適合大型企業。

MySQL與Oracle:選擇右數據庫系統MySQL與Oracle:選擇右數據庫系統May 07, 2025 am 12:09 AM

MySQL和Oracle在性能、成本和使用场景上有显著差异。1)性能:Oracle在复杂查询和高并发环境下表现更好。2)成本:MySQL开源,成本低,适合中小型项目;Oracle商业化,成本高,适用于大型企业。3)使用场景:MySQL适用于Web应用和中小型企业,Oracle适合复杂的企业级应用。选择时需根据具体需求权衡。

Oracle軟件:最大化效率和性能Oracle軟件:最大化效率和性能May 06, 2025 am 12:07 AM

Oracle軟件可以通過多種方法提升性能。 1)優化SQL查詢,減少數據傳輸量;2)適當管理索引,平衡查詢速度和維護成本;3)合理配置內存,優化SGA和PGA;4)減少I/O操作,使用合適的存儲設備。

甲骨文:企業軟件和雲計算甲骨文:企業軟件和雲計算May 05, 2025 am 12:01 AM

Oracle在企業軟件和雲計算領域如此重要是因為其全面的解決方案和強大的技術支持。 1)Oracle提供從數據庫管理到ERP的廣泛產品線,2)其云計算服務如OracleCloudPlatform和Infrastructure幫助企業實現數字化轉型,3)Oracle數據庫的穩定性和性能以及雲服務的無縫集成提升了企業效率。

MySQL與Oracle:數據庫系統的比較分析MySQL與Oracle:數據庫系統的比較分析May 04, 2025 am 12:13 AM

MySQL和Oracle各有優劣,選擇時需綜合考慮:1.MySQL適合輕量級、易用需求,適用於Web應用和中小型企業;2.Oracle適合功能強大、可靠性高需求,適用於大型企業和復雜業務系統。

MySQL與Oracle:了解許可和成本MySQL與Oracle:了解許可和成本May 03, 2025 am 12:19 AM

MySQL採用GPL和商業許可,適合小型和開源項目;Oracle採用商業許可,適合需要高性能的企業。 MySQL的GPL許可免費,商業許可需付費;Oracle許可費用按處理器或用戶計算,成本較高。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器