日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

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

例: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后應些成[[],而’]‘,則直接寫成]

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人久久久精品乱码一区二区三区 | 91久久久久久久 | av九九九| 亚洲一区二区三区免费 | 国产精品三级在线 | 免费黄色一级 | 另类激情视频 | 伊人成人在线视频 | 在线免费观看成人 | 黄片毛片免费看 | 午夜精品视频 | 精品人成 | 中文字幕二区 | 国产精品精品久久久 | 99精品免费视频 | 亚洲欧美日韩一区二区 | 嫩草影院在线观看91麻豆 | 国产高清无密码一区二区三区 | 国产一二三区在线 | 一级特黄a免费观看视频 | 国产精品久久久久久 | 99久久er热在这里只有精品15 | 热re99久久精品国产99热 | 少妇久久久久久久久久久 | 男操女| 日韩三级视频在线观看 | 国产精品亚洲综合 | 亚洲精品资源 | 国产精品2018 | 中文字幕亚洲视频 | 热99精品 | 久久996热在线播放 日韩精品第一区 | 国产成人免费网站 | 在线观看av免费 | 日本精品一区二区三区视频 | 97秋霞影院 | 91精品国产高清久久久久久久久 | 九色自拍| 激情网站在线 | 久久久久久网址 | 狠狠v欧美v日韩v亚洲ⅴ |