기록하는 개발자

PostgreSQL text to jsonb 역슬래시 제거 본문

DB/PostgreSQL

PostgreSQL text to jsonb 역슬래시 제거

gitseok 2023. 11. 28. 18:54

테이블에 text로 저장된 데이터의 키값을 기준으로 데이터를 가져와야하는 상황이었는데,

이전에 포스팅한 형식과 함께 to_jsonb를 사용해봤지만 데이터가 정상적으로 조회되지 않았다.

jsonb변환된 데이터를 출력해보니 특수문자 구분을 위해 "\"가 자동으로 들어가고 있는 문제 발견


  
select
test_data as "샘플데이터"
,(to_jsonb(test_data)-> 0 ->>'name') as "조회 실패"
,to_jsonb(test_data) as "역슬래시 확인"
from
test_table

조회 실패

 

찾아보니 아주 간단하게 해결할 수 있었다.


  
select
test_data as "샘플데이터"
,(to_jsonb(test_data)-> 0 ->>'name') as "조회 실패"
,to_jsonb(test_data) as "역슬래시 확인"
,to_jsonb(test_data::json) - '\' as "역슬래시 제거"
,(to_jsonb(test_data::json) - '\' -> 0 ->>'name') as "조회 성공"
from
test_table

조회 성공

Comments