본문 바로가기
MySql

MySQL mysql의 열에서 모든 또는 특정 인쇄 불가능한 문자를 제거하십시오.

by 베이스 공부 2021. 2. 3.
반응형

mysql의 열에서 모든 또는 특정 인쇄 불가능한 문자를 제거하고 싶습니다. I think this can be achieve using regexp_replace() function but how that I dont know. Non Printable characters has Ascii value from o to 31. I had Think one solution which is as below: IF I write the function that read all characters from the input string one by one and convert into ASCII. Then every-time I compare this Ascii value with input ascii value and if it matches then replace it and my function will return replaced string. But in my application data is always in bulk so I think It will consume to much time for processing even though I use select query and my user defined function. 그래서이 작업을 수행하는 다른 방법을 원합니다. regexp_replace () 가 좋을 것 같지만 사용 방법을 모르겠습니다

도와주세요

감사합니다, 로낙

 

해결 방법

 

DROP function IF EXISTS mysql_replaceallnonprintablecharacters; 

CREATE function mysql_replaceallnonprintablecharacters (data VARCHAR(1024)) 
returns VARCHAR(1024) 
begin 
  DECLARE i INT DEFAULT 0; 

  DECLARE finaldata VARCHAR(1024) DEFAULT ''; 

  SET FINALDATA:=data; 

  WHILE i < 31 do 
    SET FINALDATA:=REPLACE(finaldata, CHAR(i), ''); 
    SET i := i+1; 
  end WHILE; 

  RETURN finaldata; 
end 

 

참조 페이지 https://stackoverflow.com/questions/11535350

 

 

반응형

댓글