wiflish
          Loving Life! Loving Coding!
          posts - 98,comments - 98,trackbacks - 0
          [轉]SQL查詢中的特殊字符處理

          我們都知道SQL查詢過程中,單引號“'”是特殊字符,所以在查詢的時候要轉換成雙單引號“''”。
          但這只是特殊字符的一個,在實際項目中,發現對于like操作還有以下特殊字符:下劃線“_”,百分號“%”,方括號“[]”以及尖號“^”。
          其用途如下:
          下劃線:用于代替一個任意字符(相當于正則表達式中的 ? )
          百分號:用于代替任意數目的任意字符(相當于正則表達式中的 * )
          方括號:用于轉義(事實上只有左方括號用于轉義,右方括號使用最近優先原則匹配最近的左方括號)
          尖號:用于排除一些字符進行匹配(這個與正則表達式中的一樣)
          以下是一些匹配的舉例,需要說明的是,只有like操作才有這些特殊字符,=操作是沒有的。
          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%
          ?
          在實際進行處理的時候,對于=操作,我們一般只需要如此替換:
          ' -> ''
          對于like操作,需要進行以下替換(注意順序也很重要)
          [ -> [[]???? (這個必須是第一個替換的!!)
          % -> [%]??? (這里%是指希望匹配的字符本身包括的%而不是專門用于匹配的通配符)
          _ -> [_]
          ^ -> [^]
          posted on 2008-01-10 15:52 想飛的魚 閱讀(564) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 开平市| 海阳市| 甘泉县| 蓝田县| 上思县| 阳城县| 华坪县| 余干县| 石门县| 曲松县| 博罗县| 屏东县| 竹溪县| 漳浦县| 宜昌市| 巢湖市| 金山区| 文安县| 本溪市| 元朗区| 奎屯市| 梅州市| 讷河市| 宣恩县| 阜康市| 建始县| 故城县| 汉寿县| 讷河市| 耒阳市| 阜康市| 海门市| 马尔康县| 南召县| 东城区| 舞钢市| 北海市| 长顺县| 井研县| 云阳县| 美姑县|