반응형
먼저 json_table() 함수를 사용하기 위해서는
mysql >= 8.0.4 / mariadb >= 10.6.0 을 만족해야 한다.
아래와 같은 테이블 table_name이 존재하고, 데이터는 아래와 같다고 가정을 함.
select * from table_name tn;
select tn.idx, jb.datas
from table_name tn
join json_table(
replace(json_array(arrsdata), ',', '","'),
'$[*]' columns (datas varchar(50) path '$')
) jb;
과정은 다음과 같다.
먼저 데이터를 json_array() 함수를 사용하여 데이터를 JSON화한다.
그러면 대략 아래와 같은 모양이 됨.
select json_array(arrsdata) from table_name;
그럼 데이터가 하나의 json이 되고, 이를 다시 replace 함수로 쉼표(,)를 "," 로 변환을 해주면 각각의 분리된 데이터처럼 보이게 된다.
select replace(json_array(arrsdata), ',', '","') from table_name;
select tn.idx, jb.datas
from table_name tn
join json_table(
replace(json_array(arrsdata), ',', '","'),
'$[*]' columns (datas varchar(50) path '$')
) jb;
결과는 이미 위 쪽에 보여지고 있음.
역시 json!
나 곧 스타됨!
죄송
'Database' 카테고리의 다른 글
Intellij / Datagrip에서 MS-SQL to MySQL 로 테이블을 간단하게 이관시키는 방법. (0) | 2023.10.10 |
---|---|
ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "XXX" (0) | 2023.10.06 |
ORACLE connection leak 체크 쿼리 (0) | 2021.12.31 |
ORACLE 데이터 복구 ( as of timestamp 활용 ) (0) | 2021.12.31 |
ORACLE 테이블 명세 쿼리 (0) | 2021.12.31 |
댓글