經(jīng)評論區(qū)朋友的指點,此篇文章存在問題,不把SQL關鍵字作為字段名才是解決問題的關鍵。
創(chuàng)新互聯(lián)公司2013年成立,先為略陽等服務建站,略陽等地企業(yè),進行企業(yè)商務咨詢服務。為略陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
單獨針對mysql,可以使用反引號,即`
對于oracle,需要使用雙引號加大寫,即"KEY"這種,或者直接不加任何符號,不能使用單引號,不然會出現(xiàn)評論區(qū)兄弟說的那種情況,即查詢結果的字段是返回'key'這種形式。
sql使用單引號
查詢見截圖,下面返回的查詢結果中返回的字段名帶有單引號:
查詢結果中應該不帶單引號的。
所以為了兼顧mysql和oralce,最好的辦法是修改字段名,不要涉及sql系統(tǒng)關鍵字和特殊字段。
在mybatis的xml配置中有如下sql語句:
上述配置,在mysql中會報錯
提示有語法錯誤, key value為msyql系統(tǒng)關鍵字,解決方法可以是可以用反引號,如下
這樣做在mysql中是可以的,不過在oracle中使用反引號會報錯
上述mybatis配置中的sql在oracle中執(zhí)行是沒問題的,
所以為了sql在mysql和oracle中都能執(zhí)行,使用單引號更改sql語句,改完如下:
這樣在mysql和oracle中都可以執(zhí)行了。
你的肯定不是直接在MYSQL執(zhí)行的查詢,你用別的程序調(diào)用MYSQL查詢的時候,別的程序也需要轉(zhuǎn)義一次。
select '|' regexp '\\|'
select '|' rlike '\\|' 也是一樣的 O(∩_∩)O~
MySql字符轉(zhuǎn)義
在字符串中,某些序列具有特殊含義。這些序列均用反斜線(‘\’)開始,即所謂的轉(zhuǎn)義字符。MySQL識別下面的轉(zhuǎn)義序列:
\0 ASCII 0(NUL)字符。
\' 單引號(‘'’)。
\" 雙引號(‘"’)。
\b 退格符。
\n 換行符。
\r 回車符。
\t tab字符。
\Z ASCII 26(控制(Ctrl)-Z)。該字符可以編碼為‘\Z’,以允許你解決在Windows中ASCII 26代表文件結尾這一問題。(如果你試圖使用mysql db_name file_name,ASCII 26會帶來問題)。
\\ 反斜線(‘\’)字符。
\%‘%’字符。參見表后面的注解。
\_‘_’字符。參見表后面的注解。
分號不用轉(zhuǎn)義,和普通字符一樣.
需要判斷一個字符需不需要轉(zhuǎn)義,可以用下面的SQL測試.把;換成相應的字符即可.
select
';'
from
dual
在字符串中,某些序列具有特殊含義。這些序列均用反斜線(‘\’)開始,即所謂的轉(zhuǎn)義字符。MySQL識別下面的轉(zhuǎn)義序列:
\0
一個 ASCII 0 (NUL) 字符。
\'
一個 ASCII 39 單引號 (“'”) 字符。
\"
一個 ASCII 34 雙引號 (“"”) 字符。
\b
一個 ASCII 8 退格符。
\n
一個 ASCII 10 換行符。
\r
一個 ASCII 13 回車符。
\t
一個 ASCII 9 制表符(TAB)。
\z
ASCII(26) (Control-Z)。這個字符可以處理在 Windows 系統(tǒng)中 ASCII(26) 代表一個文件的結束的問題。(當使用 mysql database filename 時 ASCII(26) 可能會引起問題產(chǎn)生。)
\\
一個 ASCII 92 反斜線 (“\”) 字符。
\%
一個 ASCII 37 “%” 字符。它用于在正文中搜索“%”的文字實例,否則這里“%”將解釋為一個通配符。查看章節(jié) 6.3.2.1 字符串比較函數(shù)。
\_
一個 ASCII 95 “_” 字符。它用于在正文中搜索“_”的文字實例,否則這里“_”將解釋為一個通配符。查看章節(jié) 6.3.2.1 字符串比較函數(shù).
注意如果在某些正文環(huán)境內(nèi)使用 “\%” 或 “\_”,將返回字符串 “\%” 和 “\_” 而不是 “%” 和 “_”。
字符串中包含引號的可以有下列幾種寫法:
一個字符串用單引號“'”來引用的,該字符串中的單引號“'”字符可以用“''”方式轉(zhuǎn)義。
一個字符串用雙引號“"”來引用的,該字符串中的“"”字符可以用“""”方式轉(zhuǎn)義。
一個字符串用雙引號“"”來引用的,該字符串中的單引號“'”不需要特殊對待而且不必被重復或轉(zhuǎn)義。同理,一個字符串用單引號“'”來引用的,該字符串中的雙引號“"”不需要特殊對待而且不必被重復或轉(zhuǎn)義。
分享文章:mysql的怎么轉(zhuǎn)義,mysql轉(zhuǎn)義反斜杠
本文鏈接:http://vcdvsql.cn/article48/heccep.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、微信小程序、手機網(wǎng)站建設、網(wǎng)站導航、做網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)