똑같은 질문을 claude, chatgpt, gemini(무려 프로) 에 던졌다.
(물론 gemini를 결제하지..는 않았고 무료 프로모션이 있어서 이용해봤다)
질문:
mariadb에서 abc table의 col1 column는 1개의 row가 있고 53023,53022,53021 데이터가 들어가 있다. 53023, 53022, 53021을 각각 1개의 row로 만드는 쿼리를 작성해줘
chatgpt - 원했던 답은 아니지만 열받지는 않는다
-- 기존의 데이터를 임시 테이블에 복사합니다.
CREATE TEMPORARY TABLE temp_table AS
SELECT col1 FROM abc;
-- abc 테이블을 초기화합니다.
TRUNCATE TABLE abc;
-- 임시 테이블의 데이터를 사용하여 abc 테이블에 새로운 row를 추가합니다.
INSERT INTO abc (col1) SELECT 53023 FROM temp_table;
INSERT INTO abc (col1) SELECT 53022 FROM temp_table;
INSERT INTO abc (col1) SELECT 53021 FROM temp_table;
-- 임시 테이블을 삭제합니다.
DROP TEMPORARY TABLE temp_table;
claude - 그래도 뭔가를 더 시도해볼만한 여지를 만들어준 원하는 형태의 답변
SELECT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(col1, ',', n.digit), ',', -1)) AS new_col
FROM abc
CROSS JOIN (
SELECT 1 AS digit
UNION ALL SELECT 2
UNION ALL SELECT 3
) n
WHERE n.digit <= 1 + (LENGTH(col1) - LENGTH(REPLACE(col1, ',', '')))
gemini(pro) - 지금이라도 몇개 안되는 구글 주식 팔아버릴까
SELECT col1
FROM abc
WHERE col1 IN (53023, 53022, 53021);