国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

了解 Oracle 中單引號(hào)與雙引號(hào)的用法,一篇文章教會(huì)你!

0
分享至

無論測試或者開發(fā),對(duì)數(shù)據(jù)庫的增刪改查都是家常便飯。但有些小知識(shí)是經(jīng)常被忽略,卻又不能不去了解的,例如單引號(hào)和雙引號(hào)的用法和區(qū)別,看完這一篇,你肯定會(huì)有收獲。

首先我們要區(qū)別一個(gè)概念,即單引號(hào)(‘)和雙引號(hào)(“)和兩個(gè)單引號(hào)(‘’),在PL/SQL中明顯是不同的,單引號(hào)就是單引號(hào),雙引號(hào)就是雙引號(hào)。那么我們來看下單引號(hào)和雙引號(hào)在Oracle的世界中有什么區(qū)別。

Oracle中的單引號(hào)

在Oracle中,單引號(hào)主要有兩種用途:

一是引用字符串

二是轉(zhuǎn)義

讓我們直接從問題出發(fā),反向論證。

Q1 如何打印出單引號(hào)?

我們知道單引號(hào)經(jīng)常用來標(biāo)識(shí)內(nèi)容為字符串(引用),但是怎么來標(biāo)識(shí)自己呢?如果直接這樣寫,那么就會(huì)報(bào)錯(cuò)。

select ''' from dual;

> ORA-01756: 引號(hào)內(nèi)的字符串沒有正確結(jié)束

因此,這邊用到了單引號(hào)的轉(zhuǎn)義用法,即用單引號(hào)轉(zhuǎn)義自己:’’

沒錯(cuò),就是寫成兩個(gè)單引號(hào),轉(zhuǎn)義類似語言中的反斜杠(\),下面SQL中的綠色部分就是轉(zhuǎn)義的位置。

select''''fromdual;

Q2如果轉(zhuǎn)義單引號(hào)和字符串的引號(hào)連續(xù),如何選擇優(yōu)先級(jí)?

如果轉(zhuǎn)義字符前后還有字符串,那么該怎么判斷其優(yōu)先級(jí)呢,是先表示字符串的,還是先轉(zhuǎn)義。

select'name''is'fromdual;

例如上面這個(gè)SQL,兩個(gè)字符串連在一起,那么是輸出拼接后的nameis還是 name’is?其實(shí)這邊看似兩個(gè)字符串,其實(shí)中間的兩個(gè)單引號(hào)是轉(zhuǎn)義,所以結(jié)果是 name’is. select'name''is'fromdual;#中間引號(hào)為轉(zhuǎn)義的單引號(hào)

那有沒有連續(xù)轉(zhuǎn)義的場景呢,例如下面這個(gè)sql,就是連續(xù)轉(zhuǎn)義。

select'name'''''fromdual;

如上,sql中進(jìn)行了連續(xù)兩個(gè)轉(zhuǎn)義,因此結(jié)果是name''

Q3單引號(hào)遇到||拼接還可以繼續(xù)轉(zhuǎn)義嗎?

我們都知道,在sql語句中,如果想要多個(gè)字段拼接,可以用雙豎線||來實(shí)現(xiàn)。而||兩邊的字符串是沒有任何關(guān)聯(lián)的,互不干擾,即使是轉(zhuǎn)義字符也是一樣的,可以看到下面這個(gè)例子。

select'I'||''''||'amJack'fromdual;

語句中由兩個(gè)||將字符串分成了3部分,且每段都是互相獨(dú)立的。那么中間4個(gè)單引號(hào)是如何顯示的?其實(shí)是中間兩個(gè)單引號(hào)是轉(zhuǎn)義,前后兩個(gè)單引號(hào)只是字符串的引用而已(4個(gè)單引號(hào)只為了顯示1個(gè)單引號(hào)),因此結(jié)果就是:I'amJack

Q4單引號(hào)的轉(zhuǎn)義太復(fù)雜,易混亂,有沒有簡單的標(biāo)識(shí)方法?

對(duì)于簡單的sql語句中含有個(gè)別單引號(hào)還可以接受,但是如果sql語句中包含大量的單引號(hào),豈不是很混亂,要崩潰?

select'insertintobp_data_router(ACCESS_TYPE,ACCESS_CODE,BE_ID,EFF_DATE,CUST_ID_PREFIX,EXP_DATE,STATUS,CUST_ID)values('||''||t.access_type||','''||t.access_code||''','||t.be_id||',to_date('''||to_char(t.eff_date,'yyyymmddhh24miss')||''','||'''yyyymmddhh24miss''),'||t.cust_id_prefix||','||'to_date('''||to_char(t.exp_date,'yyyymmddhh24miss')||''','||'''yyyymmddhh24miss''),'''||t.status||''','||t.cust_id||');'frombp_data_routertwhereto_char(t.eff_date,'yyyymmddhh24miss')>'20170119004300'andt.eff_date

對(duì)于類似復(fù)雜場景,為了避免出錯(cuò),建議使用ASCII碼來表示:chr(39)

selectchr(39)fromdual;#’

Oracle中的雙引號(hào)

一般來說,雙引號(hào)沒有單引號(hào)那么復(fù)雜,它就是一個(gè)普通的字符。

select'"'fromdual;

但是,當(dāng)出現(xiàn)在to_char的格式字符串中時(shí),雙引號(hào)有特殊的作用,就是將非法的格式符包裝起來,避免出現(xiàn)ORA-01821:dateformatnotrecognized錯(cuò)誤。?也就是說,去掉雙引號(hào)和其包含的字符后,剩下的應(yīng)該是一個(gè)合法的格式串。此時(shí),to_char在處理格式字符串時(shí),會(huì)忽略雙引號(hào)。

selectto_char(sysdate,'hh24"小時(shí)"mi"分"ss"秒"')resultsfromdual;

如上這個(gè)寫法,“小時(shí)”這部分是不能帶入到語言內(nèi)部運(yùn)算的,程序會(huì)默認(rèn)忽略這部分字符,但是輸出的時(shí)候,又把它們加上,這就是雙引號(hào)的作用。

#忽略之后執(zhí)行這樣的語句:

selectto_char(sysdate,'hh24miss')resultsfromdual;

#輸出結(jié)果再加上雙引號(hào)的格式:

>>22小時(shí)50分59秒

總結(jié):

綜上所述,Oracle中的單引號(hào)可以充當(dāng)轉(zhuǎn)義字符,且優(yōu)先級(jí)較高,而雙引號(hào)只是個(gè)普通字符,只有在to_char中才能發(fā)揮特別作用。

最后:在我的V :atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動(dòng)化測試、APP自動(dòng)化測試、接口自動(dòng)化測試、測試高級(jí)持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
都說不去日本,春節(jié)赴日的卻是這群人!日媒暗訪揭開真相

都說不去日本,春節(jié)赴日的卻是這群人!日媒暗訪揭開真相

通鑒史智
2026-02-28 16:33:46
馬杜羅的辯護(hù)律師指責(zé)美國政府阻止委政府向他支付律師費(fèi) 要求主審法官撤銷案件

馬杜羅的辯護(hù)律師指責(zé)美國政府阻止委政府向他支付律師費(fèi) 要求主審法官撤銷案件

每日經(jīng)濟(jì)新聞
2026-02-28 00:04:30
給人養(yǎng)了7年閑人,廣汽終于要關(guān)閉洛杉磯的研發(fā)中心

給人養(yǎng)了7年閑人,廣汽終于要關(guān)閉洛杉磯的研發(fā)中心

與車同樂
2025-12-04 10:05:02
白人女性與黑人女性的體味差異,網(wǎng)友真實(shí)分享引發(fā)熱議

白人女性與黑人女性的體味差異,網(wǎng)友真實(shí)分享引發(fā)熱議

特約前排觀眾
2025-12-22 00:20:06
消息稱伊朗陸軍總司令身亡

消息稱伊朗陸軍總司令身亡

財(cái)聯(lián)社
2026-02-28 17:02:22
44歲高云翔天津街邊攤煎餅,穿著樸素動(dòng)作生澀,直言找到新工作了

44歲高云翔天津街邊攤煎餅,穿著樸素動(dòng)作生澀,直言找到新工作了

一盅情懷
2026-02-28 17:55:12
東詹翻臉三大鏡頭曝光!入場就鬧翻,隊(duì)友手足無措,艾頓成替罪羊

東詹翻臉三大鏡頭曝光!入場就鬧翻,隊(duì)友手足無措,艾頓成替罪羊

嘴炮體壇
2026-02-28 11:26:34
不到24小時(shí),美以對(duì)伊完成二次打擊,俄媒警告:川普在逼中國下場

不到24小時(shí),美以對(duì)伊完成二次打擊,俄媒警告:川普在逼中國下場

Ck的蜜糖
2026-02-28 21:02:23
全新嵐圖知音,除了華為加持還有不少變化

全新嵐圖知音,除了華為加持還有不少變化

AL 頻道
2025-07-23 19:27:48
朝鮮兩名高官發(fā)動(dòng)兵變?yōu)閺埑蓾蓤?bào)仇,因細(xì)節(jié)敗露,金正恩一招鎮(zhèn)壓

朝鮮兩名高官發(fā)動(dòng)兵變?yōu)閺埑蓾蓤?bào)仇,因細(xì)節(jié)敗露,金正恩一招鎮(zhèn)壓

阿胡
2024-04-30 11:48:45
民間“瘋婆婆”的預(yù)言全部應(yīng)驗(yàn),人類將遭大劫!

民間“瘋婆婆”的預(yù)言全部應(yīng)驗(yàn),人類將遭大劫!

神奇故事
2026-02-12 04:56:40
疑將燃料當(dāng)白酒喝下,兩男子參加婚宴后中毒,仍在ICU搶救 當(dāng)?shù)夭块T已介入調(diào)查

疑將燃料當(dāng)白酒喝下,兩男子參加婚宴后中毒,仍在ICU搶救 當(dāng)?shù)夭块T已介入調(diào)查

紅星新聞
2026-02-28 19:13:34
美經(jīng)濟(jì)學(xué)家:美國出現(xiàn)了嚴(yán)重戰(zhàn)略誤判,壓根沒料到中國會(huì)這么強(qiáng)大

美經(jīng)濟(jì)學(xué)家:美國出現(xiàn)了嚴(yán)重戰(zhàn)略誤判,壓根沒料到中國會(huì)這么強(qiáng)大

樂天閑聊
2025-12-01 10:29:34
無人問津!半年換4隊(duì)+被裁2次,這可是13號(hào)秀啊,唏噓

無人問津!半年換4隊(duì)+被裁2次,這可是13號(hào)秀啊,唏噓

球童無忌
2026-02-28 23:07:03
威少的下一份合同,基本有著落了!

威少的下一份合同,基本有著落了!

林子說事
2026-02-28 08:36:04
德媒分析:伊朗導(dǎo)彈庫能在短期內(nèi)與美軍抗衡

德媒分析:伊朗導(dǎo)彈庫能在短期內(nèi)與美軍抗衡

參考消息
2026-03-01 01:29:04
馬云的預(yù)言要成真?如果不出意外的話,2026年房價(jià)要迎來三大轉(zhuǎn)變

馬云的預(yù)言要成真?如果不出意外的話,2026年房價(jià)要迎來三大轉(zhuǎn)變

法老不說教
2025-11-29 22:29:18
效仿美國脫鉤,小泉進(jìn)次郎宣布,日本武器零件將“去中國化”

效仿美國脫鉤,小泉進(jìn)次郎宣布,日本武器零件將“去中國化”

兵器雜志
2026-02-28 20:30:24
此隧道一旦建成,將打破青島交通死角格局,使其成為東北亞樞紐?

此隧道一旦建成,將打破青島交通死角格局,使其成為東北亞樞紐?

好笑娛樂君每一天
2026-02-28 11:46:51
美以聯(lián)合襲擊伊朗,將有三種可能的結(jié)局,第一種可能性最大!

美以聯(lián)合襲擊伊朗,將有三種可能的結(jié)局,第一種可能性最大!

普覽
2026-02-28 18:34:07
2026-03-01 06:27:00
51Testing軟件測試網(wǎng) incentive-icons
51Testing軟件測試網(wǎng)
中國軟件測試人的精神家園
1528文章數(shù) 13252關(guān)注度
往期回顧 全部

科技要聞

狂攬1100億美元!OpenAI再創(chuàng)融資神話

頭條要聞

以官員稱哈梅內(nèi)伊身亡 遺體在其官邸廢墟中被找到

頭條要聞

以官員稱哈梅內(nèi)伊身亡 遺體在其官邸廢墟中被找到

體育要聞

球隊(duì)主力全報(bào)銷?頂風(fēng)擺爛演都不演了

娛樂要聞

周杰倫兒子正面照曝光,與父親好像

財(cái)經(jīng)要聞

沖突爆發(fā) 市場變天?

汽車要聞

嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

態(tài)度原創(chuàng)

健康
手機(jī)
教育
時(shí)尚
軍事航空

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

手機(jī)要聞

澎湃OS再次公布進(jìn)展通報(bào):10個(gè)問題,僅修復(fù)一則!

教育要聞

又看了一遍…覺得這冊(cè)子真的太牛了…

這6款發(fā)色居然這么火?50張圖可以直接給tony

軍事要聞

美國以色列聯(lián)合襲擊伊朗 實(shí)時(shí)戰(zhàn)況

無障礙瀏覽 進(jìn)入關(guān)懷版