회사에서 Maria DB에 Mybatis로 SELECT에 JSON_VALUE를 사용해서 JSON 데이터를 가공해서 EgovMap으로 받는데
이상하게 메모리 주소값인지 뭔가를 받는다. CAST 사용해서 CHAR로 변환하니까 정상적으로 받아옴
밑의 전, 후 데이터 결과는 id를 제외한 상태로 보여준 것
전:
SET @title = 'Dynamics 365 Commerce';
SELECT CONVERT(JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.id'), '"', '')), CHAR) as offerId
,JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.isAddOn'), '"', '')) as isAddOn
,JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.hasAddOns'), '"', '')) as hasAddOns
FROM MTP_OFFERS;
isAddOn=[B@5b2b8978, hasAddOns=[B@37e24bc0
후:
SET @title = 'Dynamics 365 Commerce';
SELECT CONVERT(JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.id'), '"', '')), CHAR) as offerId
,CONVERT(JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.isAddOn'), '"', '')), CHAR) as isAddOn
,CONVERT(JSON_VALUE(OFFER_JSON, REPLACE(REPLACE(JSON_SEARCH(OFFER_JSON, 'one', @title, null, '$.items[*]'), '.name', '.hasAddOns'), '"', '')), CHAR) as hasAddOns
FROM MTP_OFFERS
isAddOn=false, hasAddOns=true