Work/Study
MySQL 쿼리로 시리얼라이즈된 필드값 가져오기
물빛미르
2015. 10. 14. 10:30
728x90
필드값에서 세미콜론과 콜론을 기준으로 파싱해서 가져오는 쿼리를 사용하면 시리얼라이즈된 필드의 값을 필드형태로 변경해서 가져오거나, 일부 값만 추출할 수 있다.
특히 시리얼라이즈된 필드 내용 중 일부값을 조회해야 하는 경우가 있는데, 그때도 유용하게 사용 할 수 있을거 같다.
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',1),':',-1) AS key1,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',2),':',-1) AS value1,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',3),':',-1) AS key2,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',4),':',-1) AS value2,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',5),':',-1) AS key3,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',6),':',-1) AS value3,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',7),':',-1) AS key4,
SUBSTRING_INDEX(SUBSTRING_INDEX(필드명,';',8),':',-1) AS value4
FROM 테이블명
WHERE 조건
728x90