Sql去除字符串中所有汉字和符号,仅保留字母数字的方法

 

Sql去除字符串中所有汉字和符号,仅保留字母数字的方法

 

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

%[0-9]%   所有数字
%[A-Za-z]%   所有字母
%[吖-咗]%     所有汉字

 

-- '%[0-9]%'       所有數字
-- '%[A-Za-z]%'    所有字母
-- '%[A-Za-z0-9]%'    所有數字與字母
-- ....          組合使用,依此類推

 

 

1. 去除(提取)汉字(符号、字母、数字):

举出一例,其他类似:

 1  CREATE FUNCTION f_RemoveChinese  
 2     (  
 3         @str VARCHAR(500)  
 4     )  
 5     RETURNS VARCHAR(500)  
 6     AS  
 7     BEGIN  
 8      --  '%[0-9]%'            所有数字  
 9      --  '%[A-Za-z]%'         所有字母  
10      --  '%[A-Za-z0-9]%'      所有数字与字母  
11      --   ....                组合使用,依此类推  
12         WHILE PATINDEX('%[吖-咗]%',@str) > 0   
13             SET @str = STUFF(@str,PATINDEX('%[吖-咗]%',@str),1,'')  
14         RETURN @str  
15     END  
16     GO  
17       
18     SELECT dbo.f_RemoveChinese('愛@@情123騙子我問@@你')  -- @@123@@  

 

 

 

 

 

 

 

 

 

 

 

·

 

posted @ 2020-09-22 13:47  亟待!  阅读(5392)  评论(0)    收藏  举报
……