Database

mysql whitespace to null

kingsubin 2024. 2. 14. 08:24
  • txt 파일을 테이블에 insert 하는 작업을 하는데, 공백은 null 로 설정하려고 한다.
  • txt 파일 값의 공백을 TRIM 으로 제거하고 시도해봤는데 개행이나 탭도 섞여있어서 곤란하다.
  • REGEXP_REPLACE 를 사용해야 한다.
-- TRIM
UPDATE 건물정보
SET 비고2 = NULLIF(TRIM(비고2), '')
WHERE 비고2 IS NOT NULL;
-- REGEXP_REPLACE
UPDATE your_table_name
SET your_column_name = NULLIF(TRIM(your_column_name), '')
WHERE your_column_name IS NOT NULL;

UPDATE 건물정보
SET 비고2 = NULLIF(REGEXP_REPLACE(비고2, '^\\s*$', ''), '')
WHERE 비고2 IS NOT NULL;


txt 파일에서 먼저 처리하거나 다른 더 좋은 방법이 있을 것 같기도 한데 아직 모르겠다...