>데이터 베이스 >MySQL 튜토리얼 >SQLite에서 쉼표로 구분된 값을 효율적으로 분할하는 방법은 무엇입니까?

SQLite에서 쉼표로 구분된 값을 효율적으로 분할하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-03 11:00:39925검색

How to Efficiently Split Comma-Separated Values in SQLite?

SQLite에서 쉼표로 구분된 값 분할

쉼표로 구분된 값이 포함된 데이터로 작업할 때 개별 구성 요소를 추출해야 할 수 있습니다. SQLite에서는 이를 달성하기 위해 바꾸기() 및 Trim()과 같은 함수를 사용하는 것이 번거로울 수 있습니다. CTE(공통 테이블 표현식)를 사용하는 보다 효율적인 접근 방식은 다음과 같습니다.

해결책:

1단계: CTE 정의

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL SELECT
    substr(csv, 0, instr(csv, ',')),
    substr(csv, instr(csv, ',') + 1)
  FROM split
  WHERE csv != ''
)
  • SELECT: 단어 및 csv를 초기화합니다. columns.
  • UNION ALL: csv 값을 쉼표로 반복적으로 분할합니다.
  • WHERE csv != '': 분할할 값이 더 이상 없으면 재귀를 종료합니다.

2단계: 추출 값

SELECT word FROM split WHERE word!='';
  • 첫 번째 행과 마지막 행(더미/터미널 값)을 필터링합니다.
  • 분할 값을 단어로 추출합니다.

출력:

Auto
A
1234444

이 솔루션은 문자열 길이가 긴 경우에도 SQLite에서 쉼표로 구분된 값을 분할하는 간단하고 효율적인 방법을 제공합니다. 다양합니다.

위 내용은 SQLite에서 쉼표로 구분된 값을 효율적으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.