日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql语言特殊字符处理

發(fā)布時間:2025/3/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql语言特殊字符处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們都知道SQL Server查詢過程中,單引號“'”是特殊字符,所以在查詢的時候要轉(zhuǎn)換成雙單引號“''”。
但這只是特殊字符的一個,在實(shí)際項(xiàng)目中,發(fā)現(xiàn)對于like操作還有以下特殊字符:下劃線“_”,百分號“%”,方括號“[]”以及尖號“^”。
其用途如下:
下劃線:用于代替一個任意字符(相當(dāng)于正則表達(dá)式中的 ? )
百分號:用于代替任意數(shù)目的任意字符(相當(dāng)于正則表達(dá)式中的 * )
方括號:用于轉(zhuǎn)義(事實(shí)上只有左方括號用于轉(zhuǎn)義,右方括號使用最近優(yōu)先原則匹配最近的左方括號)
尖號:用于排除一些字符進(jìn)行匹配(這個與正則表達(dá)式中的一樣)

以下是一些匹配的舉例,需要說明的是,只有l(wèi)ike操作才有這些特殊字符,=操作是沒有的。
a_b... a[_]b%
a%b... a[%]b%
a[b... a[[]b%
a]b... a]b%
a[]b... a[[]]b%
a[^]b... a[[][^]]b%
a[^^]b... a[[][^][^]]b%

在實(shí)際進(jìn)行處理的時候,對于=操作,我們一般只需要如此替換:
' -> ''
對于like操作,需要進(jìn)行以下替換(注意順序也很重要)
[ -> [[] (這個必須是第一個替換的!!)
% -> [%] (這里%是指希望匹配的字符本身包括的%而不是專門用于匹配的通配符)
_ -> [_]
^ -> [^]

在sql語句中,有些特殊字符,是sql保留的。比如 ' [ ] 等。我們可以先看看它們的用法。

當(dāng)需要查詢某數(shù)據(jù)時,加入條件語句,或著當(dāng)你需要insert記錄時,我們用 ' 來將字符類型的數(shù)據(jù)引起來。比如:
Select * from Customers where City = 'London'

當(dāng)表的名字或列的名字中,含有空格等一些特殊字符時,我們需要用[] 將表名引起來,告訴語法分析器,[]號內(nèi)的才是一個完整的名稱。比如

Select * from [Order Details]

如果,字符數(shù)據(jù)中,含有 ' 改怎么辦呢?其實(shí),好多人在這里并沒有處理字符川中 ' 符號,才造成sql 注射危險。就那上面的那個例子。在Sql語句拼接的時代,比如

string sql = "select * from Customers where CustomerID = '" + temp + "'";

如果,我給temp賦值為 Tom' or 1=1 ---?
那么你拼接起來的語句為 select * from Customers where CustomerID = 'Tom' or 1=1 --- '
哈哈,1=1 衡為真,---會把后面的sql語句注釋掉。而前面因?yàn)橛休斎氲?' 而使的語句是合法的。那or的條件,會把所有的記錄都選出來。這就是sql注入。在做用戶登陸時,如果沒有處理該問題,那你的系統(tǒng)受危害的可能性會很高的。
如何處理字符數(shù)據(jù)中的 ' 符號呢? 方法很簡單,用兩個 ' 符號代替一個。 比如,其實(shí)際傳入的值為Lon'don,處理后為
Select * from Customers where City = 'Lon''don'
就可以了。

如果表或列的名稱中含有 [ 或 ] 字符呢?比如Select * from [Order] Details],那中間 ] 符號豈不是先和第一個[ 配了。后面的就是非法的了。怎么辦呢? 簡單,使用 ]] 代替 ] 。對于[,則無須處理。那就該為
Select * from [Order]] Details]。

轉(zhuǎn)載于:https://www.cnblogs.com/henryhappier/archive/2010/01/25/1656171.html

總結(jié)

以上是生活随笔為你收集整理的sql语言特殊字符处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色5566| 国精品人妻无码一区二区三区喝尿 | 国产精品乱码一区二三区小蝌蚪 | 国产麻豆91 | 一级做a在线观看 | 欧美日韩一区二区不卡 | 国产一区二区视频在线免费观看 | 九九久久99 | 最新av免费在线观看 | 亚洲区小说区图片区 | 国产123| 我的丝袜美腿尤物麻麻 | 天天色天天色 | 国产91在线播放 | 日日射av| 嫦娥性艳史bd | 91蜜桃视频在线观看 | 成年网站免费在线观看 | 中文字幕在线成人 | 永久免费看mv网站入口亚洲 | 国产精彩视频一区 | 丁香啪啪综合成人亚洲 | 精品999www| 都市激情校园春色 | 国产在线成人精品午夜 | 色婷婷伊人| 天堂国产一区二区三区 | 午夜xxxx| 国产香蕉尹人视频在线 | av优选在线观看 | 国产99re| www.污在线观看 | 免费福利在线观看 | 激情五月开心婷婷 | 国产又黄又猛 | 国内久久| 四虎网站在线观看 | 9久久9毛片又大又硬又粗 | 国产精品一卡二卡在线观看 | 国产精品久久久久aaaa | 亚洲最大在线观看 | h视频免费在线观看 | 日韩欧美大陆 | 男人操女人的免费视频 | 久久婷五月 | 深爱激情久久 | 日本黄色美女视频 | 久久久久久久久国产 | 欧美日韩一区三区 | 欧美视频精品在线 | 日本高清不卡码 | 成人影片网址 | 狠狠操一区二区 | 国产一区二区三区播放 | 99人妻碰碰碰久久久久禁片 | 黄色av免费在线看 | 欧美图片一区二区 | 丝袜美腿中文字幕 | 久久久久久久久久国产精品 | 国产高清一 | 国产精品一区久久 | 毛利兰被扒开腿做同人漫画 | 成人在线观看h | 九九视频在线播放 | 超碰人人干人人 | 国产69精品久久久久久久 | 国产sm网站| 天天碰天天碰 | 午夜欧美福利 | 色屁屁www影院免费观看入口 | 巨茎大战刘亦菲 | 亚洲欧美精品一区二区三区 | 日本一区二区视频在线播放 | 国产又黄又粗又猛又爽 | 饥渴的少妇和男按摩师 | 香蕉尹人网| 欧美色妞网 | 99资源网 | 美女被c出白浆 | 999精品免费视频 | 欧美日韩免费在线 | 日本免费不卡一区二区 | 国产精品免费久久 | 男女男精品视频站 | 老司机深夜福利网站 | 在线中文字幕观看 | 99在线成人精品视频 | 精品视频一区二区三区 | 无码精品一区二区免费 | 亚洲风情亚aⅴ在线发布 | 国产精品秘入口18禁麻豆免会员 | 欧美丰满老妇熟乱xxxxyyy | 欧美视频在线观看免费 | 好吊操精品视频 | 全程粗话对白视频videos | 国产丝袜第一页 | 欧美一级黄色片视频 | videos另类灌满极品另类 | 亚洲av综合色区无码一区 |