• sql server筛选所有汉字、字母、数字


    核心思想在于下面几个模式的组合使用:

    %[0-9]% :              所有数字

    %[A-Za-z]%:所有字母

    %[吖-咗]%:所有汉字

    1. 去除汉字(字母、数字):

    举出一例,其他类似:

    CREATE FUNCTION f_RemoveChinese
    (
      @str VARCHAR(500)
    )
     
    RETURNS VARCHAR(500)
    AS
    BEGIN
     
    -- '%[0-9]%' 所有數字
    -- '%[A-Za-z]%' 所有字母
    -- '%[A-Za-z0-9]%' 所有數字與字母
    -- .... 組合使用,依此類推
     
    WHILE PATINDEX('%[吖-咗]%',@str) > 0
    SET @str = STUFF(@str,PATINDEX('%[吖-咗]%',@str),1,'')
    RETURN @str
     
    END
     
    GO
     
     
     
    SELECT dbo.f_RemoveChinese('愛@@情123騙子我問@@你') -- @@123@@

    2. 提取汉字(字母、数字):

    提取XX可转化为去除非XX 。 举出一例,其他类似

    CREATE FUNCTION f_getChinese
    (
        @str VARCHAR(500)
    )
     
    RETURNS VARCHAR(500)
    AS
    BEGIN
     
    -- '%[^0-9]%' 所有數字
     
    -- '%[^A-Za-z]%' 所有字母
     
    -- '%[^A-Za-z0-9]%' 所有數字與字母
     
    -- .... 組合使用,依此類推
     
    WHILE PATINDEX('%[^吖-咗]%',@str) > 0
    SET @str = STUFF(@str,PATINDEX('%[^吖-咗]%',@str),1,'')
     
    RETURN @str
    END
    GO
     
     
    SELECT dbo.f_getChinese('愛@@情123騙子我問@@你') -- 愛情騙子我問你

    3. 提取数字(支持小数点):

    上面的代码将模式直接换成'%[^0-9]%'的话,不支持带小数点的数字,下面给出一个修正的:

    -- 提取所有漢字(字母、數字)
    CREATE FUNCTION f_GetNum
    (
    @str VARCHAR(500)
    )
    RETURNS VARCHAR(500)
    AS
    BEGIN
     
    -- get num and dot
    WHILE (PATINDEX('%[^0-9.]%',@str) > 0)
    SET @str = STUFF(@str,PATINDEX('%[^0-9.]%',@str),1,'')
     
    -- remove left dot
     
    WHILE(LEFT(@str,1)='.')
    SET @str = RIGHT(@str,LEN(@str)-1)
     
    -- remove right dot
    WHILE(RIGHT(@str,1)='.')
    SET @str = LEFT(@str,LEN(@str)-1)
    RETURN @str
    END
    GO
     
     
    SELECT dbo.f_GetNum('愛@@..情1.23騙子我問...@@你') -- 1.23
  • 相关阅读:
    Spring有用功能--Profile、WebService、缓存、消息、ORM
    opencv标定程序(改动)
    Install Docker Mac OS X
    Android eclipse 提示java代码 快捷键
    Mac使用Docker-machine訪问docker publish port
    决策树之C4.5算法学习
    为ImageView设置背景图片(代码中)
    BZOJ 3675 APIO2014 序列切割 斜率优化DP
    思科模拟器之路由器-RIP-DNS解析server
    POJ 3177 Redundant Paths
  • 原文地址:https://www.cnblogs.com/gered/p/12779299.html
Copyright © 2020-2023  润新知