MySQL의 PHP 폭발() 모방
MySQL은 문자열 분할을 위한 PHP의 explode()
함수와 직접적으로 동등한 기능을 제공하지 않습니다. 그러나 비슷한 결과를 얻기 위해 사용자 정의 MySQL 함수를 만들 수 있습니다. 이 함수는 구분 기호를 기준으로 문자열을 분할하고 특정 부분을 반환합니다.
다음은 MySQL 데이터베이스에 추가할 사용자 정의 함수입니다.
<code class="language-sql">CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT) RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos), LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1), delim, '');</code>
이 함수는 SUBSTRING_INDEX()
을 활용하여 원하는 하위 문자열을 찾고 SUBSTRING()
을 활용하여 추출합니다. pos
매개변수는 검색할 세그먼트를 지정합니다(1부터 시작). REPLACE()
남아 있는 구분 기호를 제거합니다.
기능 사용 예:
쉼표로 구분된 문자열에서 첫 번째 요소를 추출하려면:
<code class="language-sql">SELECT SPLIT_STRING('apple, pear, melon', ',', 1); -- Returns 'apple'</code>
쿼리로 통합:
점수가 "teamA - teamB"로 저장되는 테이블이 있다고 가정해 보겠습니다. 순서에 관계없이 점수를 비교하려면:
<code class="language-sql">WHERE opponent1.date = opponent2.date AND SPLIT_STRING(opponent1.score, ' - ', 1) = SPLIT_STRING(opponent2.score, ' - ', 2) AND SPLIT_STRING(opponent1.score, ' - ', 2) = SPLIT_STRING(opponent2.score, ' - ', 1);</code>
이 쿼리는 데이터베이스에서 팀 순서가 바뀌더라도 날짜와 점수가 동일한 경기를 찾습니다. 이제 점수 문자열의 두 부분이 양방향으로 동일한지 확인합니다.
위 내용은 문자열 조작을 위해 MySQL의 PHP 폭발() 함수를 어떻게 복제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!