source

쉼표로 구분된 문자열을 json 어레이로 마이그레이션

nicesource 2022. 11. 14. 21:36
반응형

쉼표로 구분된 문자열을 json 어레이로 마이그레이션

일부 열에 다음과 같이 쉼표로 구분된 문자열이 저장되어 있는 오래된 데이터베이스가 있습니다.technician,director,website designer

MySQL JSON 배열 유형과 관련된 메서드를 사용할 수 있도록 JSON 배열로 변환하고 싶습니다.
그래서 저는 기본적으로 변환 방법을 찾고 있습니다.technician,director,website designer로.["technician","director","website designer"]SQL에 있습니다.

목록의 길이는 임의입니다.가장 큰 문제는 쉼표로 구분된 문자열의 각 요소에 SQL 함수를 적용하는 방법입니다(예:JSON_QUOTE()각 요소에서) 대괄호를 추가하는 것은 간단하기 때문에CONCAT.

솔루션은 MySQL 5.7용이어야 합니다.

사용할 수 있습니다.REPLACE원하는 문자열을 가져옵니다.

SELECT CONCAT('["', REPLACE('technician,director,website designer', ',', '","'), '"]')
-- ["technician","director","website designer"]

를 사용하면 변환 결과가 유효한 JSON 값인지 여부를 확인할 수 있습니다.

SELECT JSON_VALID(CONCAT('["', REPLACE('technician,director,website designer', ',', '","'), '"]'))
-- 1

dbfiddle.uk 데모

언급URL : https://stackoverflow.com/questions/59576757/migrate-comma-separated-string-to-json-array

반응형