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

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

了解 Oracle 中單引號與雙引號的用法,一篇文章教會你!

0
分享至

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

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

Oracle中的單引號

在Oracle中,單引號主要有兩種用途:

一是引用字符串

二是轉(zhuǎn)義

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

Q1 如何打印出單引號?

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

select ''' from dual;

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

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

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

select''''fromdual;

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

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

select'name''is'fromdual;

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

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

select'name'''''fromdual;

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

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

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

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

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

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

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

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

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

selectchr(39)fromdual;#’

Oracle中的雙引號

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

select'"'fromdual;

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

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

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

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

selectto_char(sysdate,'hh24miss')resultsfromdual;

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

>>22小時50分59秒

總結(jié):

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

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

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(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)推薦
熱點推薦
笑麻了!和聽不懂話的人溝通什么體驗?網(wǎng)友:氣的厭蠢癥都犯了

笑麻了!和聽不懂話的人溝通什么體驗?網(wǎng)友:氣的厭蠢癥都犯了

另子維愛讀史
2026-02-28 23:28:06
曾經(jīng)他們硬氣的拒絕了中國,如今好懷念他們當初桀驁不馴的樣子!

曾經(jīng)他們硬氣的拒絕了中國,如今好懷念他們當初桀驁不馴的樣子!

北緯的咖啡豆
2025-12-23 14:28:08
當游戲98%的畫面由AI生成,我們到底是在玩游戲還是玩AI?

當游戲98%的畫面由AI生成,我們到底是在玩游戲還是玩AI?

雷科技
2026-02-28 11:24:10
奧美拉唑被列為重點監(jiān)控藥物!醫(yī)生提醒:長期服用,注意5大細節(jié)

奧美拉唑被列為重點監(jiān)控藥物!醫(yī)生提醒:長期服用,注意5大細節(jié)

醫(yī)學(xué)原創(chuàng)故事會
2026-03-01 00:07:02
基辛格生前大膽預(yù)測:第三次世界大戰(zhàn)爆發(fā),敢打美國的國家就3個

基辛格生前大膽預(yù)測:第三次世界大戰(zhàn)爆發(fā),敢打美國的國家就3個

鐵錘簡科
2025-12-22 16:21:54
突發(fā)黑天鵝沖擊全球市場!中東風(fēng)暴席卷A股,下周資金徹底變天!

突發(fā)黑天鵝沖擊全球市場!中東風(fēng)暴席卷A股,下周資金徹底變天!

股市皆大事
2026-03-01 12:54:40
金價,飆漲!

金價,飆漲!

中吳網(wǎng)
2026-02-28 15:36:08
美國沒想到,俄羅斯也沒想到!中國石油,如今會成為“遙遙領(lǐng)先”

美國沒想到,俄羅斯也沒想到!中國石油,如今會成為“遙遙領(lǐng)先”

來科點譜
2026-02-20 07:16:30
超級杯-海港VS國安首發(fā):4外援PK 安佩姆、恩科洛洛首秀 楊希先發(fā)

超級杯-海港VS國安首發(fā):4外援PK 安佩姆、恩科洛洛首秀 楊希先發(fā)

我愛英超
2026-03-01 14:03:37
特朗普苦等4天中方終于回信,對美開出兩大條件,做不到訪華免談

特朗普苦等4天中方終于回信,對美開出兩大條件,做不到訪華免談

安珈使者啊
2026-03-01 12:15:35
加納喬再惹爭議:賽前曬“嗜血雄獅”遭群嘲,切爾西或?qū)⑵淝逑?>
    </a>
        <h3>
      <a href=星耀國際足壇
2026-02-28 15:23:23
他靠反美斂財過億,在美國買別墅,女兒嫁給了美國人

他靠反美斂財過億,在美國買別墅,女兒嫁給了美國人

深度報
2025-08-25 22:35:54
1-0,25歲韓國球星發(fā)威:精確制導(dǎo),助大巴黎2連勝+4分優(yōu)勢領(lǐng)跑

1-0,25歲韓國球星發(fā)威:精確制導(dǎo),助大巴黎2連勝+4分優(yōu)勢領(lǐng)跑

側(cè)身凌空斬
2026-03-01 05:59:31
3月1日,券商給予評級并且給出目標價的公司一覽

3月1日,券商給予評級并且給出目標價的公司一覽

A股數(shù)據(jù)表
2026-03-01 06:20:03
哈梅內(nèi)伊遇害細節(jié)曝光,內(nèi)奸和間諜送情報,已滲透到伊朗最高層

哈梅內(nèi)伊遇害細節(jié)曝光,內(nèi)奸和間諜送情報,已滲透到伊朗最高層

石江月
2026-03-01 13:12:21
伊朗媒體:7枚導(dǎo)彈襲擊伊朗總統(tǒng)府和哈梅內(nèi)伊住所附近區(qū)域

伊朗媒體:7枚導(dǎo)彈襲擊伊朗總統(tǒng)府和哈梅內(nèi)伊住所附近區(qū)域

參考消息
2026-02-28 16:07:09
哈梅內(nèi)伊一死普京馬上下令,俄羅斯全體高層緊急到場

哈梅內(nèi)伊一死普京馬上下令,俄羅斯全體高層緊急到場

生活魔術(shù)專家
2026-03-01 14:04:10
中國駐伊朗大使館:3月1日起暫停辦理簽證、認證等領(lǐng)事證件業(yè)務(wù)

中國駐伊朗大使館:3月1日起暫停辦理簽證、認證等領(lǐng)事證件業(yè)務(wù)

界面新聞
2026-03-01 00:40:22
歷史被改寫!美軍太空軍首戰(zhàn)伊朗,商業(yè)航天“民用”偽裝徹底撕碎

歷史被改寫!美軍太空軍首戰(zhàn)伊朗,商業(yè)航天“民用”偽裝徹底撕碎

眼界看視野
2026-03-01 13:10:27
馬筱梅生產(chǎn)僅5天,汪小菲破防!怒斥張?zhí)m引爭議,網(wǎng)友吐槽:逆子

馬筱梅生產(chǎn)僅5天,汪小菲破防!怒斥張?zhí)m引爭議,網(wǎng)友吐槽:逆子

風(fēng)笛悠揚聲
2026-03-01 11:58:52
2026-03-01 15:35:00
51Testing軟件測試網(wǎng) incentive-icons
51Testing軟件測試網(wǎng)
中國軟件測試人的精神家園
1528文章數(shù) 13252關(guān)注度
往期回顧 全部

科技要聞

小米超跑概念車全球首秀!殺入頂豪俱樂部

頭條要聞

揮兵伊朗之際 特朗普開炮"絕不允許企業(yè)干涉軍隊作戰(zhàn)"

頭條要聞

揮兵伊朗之際 特朗普開炮"絕不允許企業(yè)干涉軍隊作戰(zhàn)"

體育要聞

火箭輸給熱火:烏度卡又輸斯波教練

娛樂要聞

《江山為聘》:吳謹言陳哲遠燃炸朝堂

財經(jīng)要聞

中東局勢升級 如何影響A股、黃金和原油

汽車要聞

小米汽車2月交付超20000臺 雷軍:為新SU7量產(chǎn)作準備

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

本地
游戲
家居
藝術(shù)
軍事航空

本地新聞

津南好·四時總相宜

自掏100萬拯救LPL流量?Uzi舉辦烏茲杯:有流量選手都會來!

家居要聞

素色肌理 品意式格調(diào)

藝術(shù)要聞

2025第四屆“精神·圖式”——中國寫意油畫雙年展 | 入選油畫選刊

軍事要聞

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

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