기록하는 개발자

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