>데이터 베이스 >MySQL 튜토리얼 >정규식은 쉼표로 구분된 문자열을 MySQL 임시 테이블로 구문 분석할 수 있습니까?

정규식은 쉼표로 구분된 문자열을 MySQL 임시 테이블로 구문 분석할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-18 03:24:17854검색

Can Regular Expressions Parse Comma-Separated Strings into MySQL Temporary Tables?

RegEx를 활용하여 쉼표로 구분된 문자열을 MySQL 임시 테이블로 구문 분석

질문:

일반을 사용하여 쉼표로 구분된 문자열을 임시 MySQL 테이블로 변환 표현식?

답변:

MySQL에는 문자열 분할을 위한 내장 기능이 없지만 다양한 해결 방법이 있습니다. 한 가지 접근 방식에는 문자열을 해당 구성 요소로 분해하는 사용자 정의 함수와 루프 메커니즘이 포함됩니다.

문자열 분할을 위한 사용자 정의 함수:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

루핑 및 증분 사용자 정의 함수:

DELIMITER $$  

CREATE PROCEDURE ABC(fullstr)

   BEGIN
      DECLARE a INT Default 0 ;
      DECLARE str VARCHAR(255);
      simple_loop: LOOP
         SET a=a+1;
         SET str=SPLIT_STR(fullstr,"|",a);
         IF str='' THEN
            LEAVE simple_loop;
         END IF;
         #Do Inserts into temp table here with str going into the row
         insert into my_temp_table values (str);
   END LOOP simple_loop;
END $$

이 접근 방식을 사용하면 분할을 구문 분석할 수 있습니다. 문자열을 입력하고 MySQL의 루핑 기능을 사용하여 구성 요소를 임시 테이블에 동적으로 삽입합니다.

위 내용은 정규식은 쉼표로 구분된 문자열을 MySQL 임시 테이블로 구문 분석할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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