日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

在SQL中取出字符串中數(shù)字部分或在SQL中取出字符

系統(tǒng) 2733 0

近來在開發(fā)一個項目時,一包含數(shù)字的字符串,需要取出中間的數(shù)字部分進(jìn)行排序.經(jīng)過baidu搜索。并結(jié)合自己項目的需求,編寫了一個自定義的SQL函數(shù)用供項目中使用。

        
          /*
        
        
          ***** Object:  UserDefinedFunction [dbo].[F_Get_No]    Script Date: 10/18/2013 22:03:13 *****
        
        
          */
        
        
          SET
        
         ANSI_NULLS 
        
          ON
        
        
          GO
        
        
          SET
        
         QUOTED_IDENTIFIER 
        
          ON
        
        
          GO
        
        
          create
        
        
          function
        
        
          [
        
        
          dbo
        
        
          ]
        
        .
        
          [
        
        
          F_Get_No
        
        
          ]
        
        
           

( 


        
        
          @No
        
        
          varchar
        
        (
        
          100
        
        
          ) 

) 


        
        
          RETURNS
        
        
          bigint
        
        
          AS
        
        
          BEGIN
        
        
          WHILE
        
        
          PATINDEX
        
        (
        
          '
        
        
          %[^0-9]%
        
        
          '
        
        ,
        
          @No
        
        )
        
          >
        
        
          0
        
        
          BEGIN
        
        
          SET
        
        
          @No
        
        
          =
        
        
          STUFF
        
        (
        
          @No
        
        ,
        
          PATINDEX
        
        (
        
          '
        
        
          %[^0-9]%
        
        
          '
        
        ,
        
          @No
        
        ),
        
          1
        
        ,
        
          ''
        
        ) 
        
          --
        
        
          刪掉一個非數(shù)字的字符,循環(huán)結(jié)束,剩余的為數(shù)字部分
        
        
          END
        
        
          RETURN
        
        
          CONVERT
        
        (
        
          bigint
        
        ,
        
          @No
        
        
          ) 


        
        
          END
        
      
View Code

項目中的問題解決后,反過來思考了一下如果只取出字串中的字符部分,又如何處理呢。經(jīng)過修改,修改如下,生成另一個SQL自定義函數(shù)。

        
          create
        
        
          function
        
        
          [
        
        
          dbo
        
        
          ]
        
        .
        
          [
        
        
          F_GetChar
        
        
          ]
        
        
          



(




        
        
          @No
        
        
          varchar
        
        (
        
          100
        
        
          )



)




        
        
          RETURNS
        
        
          varchar
        
        (
        
          100
        
        
          )




        
        
          AS
        
        
          BEGIN
        
        
          WHILE
        
        
          PATINDEX
        
        (
        
          '
        
        
          %[^A-Za-z]%
        
        
          '
        
        ,
        
          @No
        
        )
        
          >
        
        
          0
        
        
          BEGIN
        
        
          SET
        
        
          @No
        
        
          =
        
        
          STUFF
        
        (
        
          @No
        
        ,
        
          PATINDEX
        
        (
        
          '
        
        
          %[^A-Za-z]%
        
        
          '
        
        ,
        
          @No
        
        ),
        
          1
        
        ,
        
          ''
        
        ) 
        
          --
        
        
          刪掉一個非數(shù)字的字符,循環(huán)結(jié)束,剩余的為數(shù)字部分
        
        
          END
        
        
          RETURN
        
        
          CONVERT
        
        (
        
          varchar
        
        (
        
          100
        
        ),
        
          @No
        
        
          )




        
        
          END
        
        
          --
        
        
          select dbo.F_GetChar('wwww23')
        
      
View Code

以上調(diào)用自定義函數(shù)時都必須前面帶 dbo.

在SQL中取出字符串中數(shù)字部分或在SQL中取出字符部分


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 府谷县| 恭城| 东丰县| 巴南区| 宜兰市| 井陉县| 兴安盟| 吉木萨尔县| 柳州市| 洛浦县| 浠水县| 康保县| 寿宁县| 嘉善县| 翁牛特旗| 洱源县| 台州市| 通州区| 定陶县| 潜山县| 西充县| 延吉市| 弥渡县| 青神县| 同心县| 台安县| 荣成市| 百色市| 丰镇市| 阜平县| 永昌县| 澄城县| 云阳县| 石泉县| 双桥区| 北票市| 遂宁市| 慈利县| 乌兰察布市| 西城区| 双桥区|