多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Sqlserver > SQL語句處理特殊字符的例子

SQL語句處理特殊字符的例子

來源:程序員人生   發布時間:2014-04-08 14:08:41 閱讀次數:3518次

用戶輸入如果沒有任何限制的話,則必須對特殊字符進行變換。如果對單引號不進行變換,則會發生數據庫錯誤,甚至可能導致系統崩潰。不過回避方法卻非常簡單,只要將單引號[']轉換成兩個單引號['']就可以了。

例:SELECT * FROM TBL WHERE COL = 'ABC''DEF';
模糊查詢的語句雖然不會發生SQL錯誤,但是不進行回避的話,則無法得到要檢索的值?;乇芊椒ㄝ^單引號復雜。需要使用轉義符。將[%]轉為[\%]、[_]轉為[\_], 然后再加上[ESCAPE '']就可以了。

例:SELECT * FROM TBL WHERE COL LIKE 'ABC\%\_%' ESCAPE '';
  ※最后一個%是通配符。
如果做日文項目的話,會出現全角字符的[%]、[_], 而這兩個全角字符同樣會作為半角通配符處理。所以在變換時,同時需要將全角的[%]、[_]進行變換。

例:SELECT * FROM TBL WHERE COL LIKE 'ABC\%\_%_%' ESCAPE '';
變換成這樣似乎結束了,可是不要忘了還有轉義符自身,萬一用戶輸入轉義符的話,
以上的處理就會發生SQL錯誤。所以也必須對轉義符進行變換。變換方法就是將[]轉換為[]。

例:SELECT * FROM TBL WHERE COL LIKE 'ABC\%\_%_%' ESCAPE '';
以上的操作都針對于一般的數據類型,如CHAR、VARCHAR2。 如果出現NCHAR、NVARCHAR2的話,以上的處理就會出現ORA-01425錯誤。

如果改成以下寫法,則會發生ORA-01424錯誤。
SELECT * FROM TBL WHERE COL LIKE '%_%' ESCAPE TO_NCHAR('')
正確的寫法應該是
SELECT * FROM TBL WHERE COL LIKEC '%_%' ESCAPE TO_NCHAR('')

最后要說明的是每個like都應該寫ESCAPE語句。
例:
SELECT * FROM TBL
WHERE COL1 LIKE '%_%' ESCAPE '' OR COL2 LIKE '%_%' ESCAPE ''
CREATE TABLE #TEMP (Charcater varchar(50))
insert into #TEMP
values
('werwerweerwe[werwe]werwerwer')
insert into #TEMP
values
('werwerweerwe[zzzzzzzzzz')
insert into #TEMP
values
('werwerweerwe]zzzzzzzzzz')

select * from #TEMP where Charcater like '%]%'
select * from #TEMP where Charcater like '%[[]%'

如果查詢‘[’的則like后應些成[[],而’]‘,則直接寫成]

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费羞羞 | 噜噜色.com| 亚洲高清成人 | 国产成人久久精品麻豆二区 | 欧美成人手机视频免费播放 | 最近中文字幕mv免费看 | 亚洲性69影院在线观看 | 国产精品亚洲午夜不卡 | 亚洲区视频 | 午夜久久久久久 | 国语精品91自产拍在线观看二区 | 狠狠色伊人亚洲综合第8页 狠狠色综合网 | www.精品| 免费一级做a爰片久久毛片潮 | 亚洲第一网站在线观看 | 国产精品综合一区二区三区 | 日韩精品福利 | 日美欧韩一区二去三区 | 亚洲高清国产一区二区三区 | 大学生一一级毛片在线播放 | 一级片免费 | 欧美高清videos性极品 | 激情五月开心婷婷 | 亚洲4区| jiucao在线观看精品 | 久久久精品久久 | 国产精品久久久久久久久久久久久久 | 亚洲在线观看免费 | 午夜影院在线视频 | 爽爽影院色黄网站在线观看 | 欧美一级毛片不卡免费观看 | 久久视频一区 | 亚洲国产精品一区二区三区久久 | 天堂网男人 | 欧美男男作爱gayxxx | 噜啪啪| 手机看片日韩日韩 | 福利视频一二三在线视频免费观看 | 手机看片国产精品 | 亚洲九九爱 | 小说区亚洲区 |