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@@  

 

 

 

 

 

 

 

 

 

 

 

·

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM