>데이터 베이스 >MySQL 튜토리얼 >MySQL 필드에서 여러 문자를 효율적으로 바꾸려면 어떻게 해야 합니까?

MySQL 필드에서 여러 문자를 효율적으로 바꾸려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-27 10:19:09356검색

How Can I Efficiently Replace Multiple Characters in a MySQL Field?

MySQL에서 여러 문자 다시 쓰기

MySQL 필드에서 여러 문자를 수정하는 것은 어려울 수 있으며, 특히 REPLACE 기능이 제한되어 있는 경우 더욱 그렇습니다. 단일 문자열 교체. 그러나 MySQL은 이러한 제한을 극복하기 위한 여러 기술을 제공합니다.

REPLACE 함수 연결

간단한 접근 방식은 여러 REPLACE 호출을 연결하는 것입니다.

SELECT REPLACE(REPLACE('hello world', 'world', 'earth'), 'hello', 'hi');

이 코드 조각은 먼저 "world"를 "earth"로 바꾼 다음 "hello"를 "hi"로 바꾸므로 결과는 다음과 같습니다. "hi Earth."

하위 쿼리 활용

하위 쿼리를 사용하여 여러 문자열을 대체할 수 있습니다.

SELECT REPLACE(london_english, 'hello', 'hi') AS warwickshire_english
FROM (
  SELECT REPLACE('hello world', 'world', 'earth') AS london_english
) AS sub;

이 쿼리는 "hello"를 다음으로 대체합니다. 하위 쿼리("london_english"라는 이름)에 "hi"를 입력한 다음 결과를 "warwickshire_english."

JOIN 활용

JOIN은 여러 문자열을 바꾸는 또 다른 방법을 제공합니다.

SELECT GROUP_CONCAT(newword SEPARATOR ' ')
FROM (
  SELECT 'hello' AS oldword
  UNION ALL
  SELECT 'world'
) AS orig
INNER JOIN (
  SELECT 'hello' AS oldword, 'hi' AS newword
  UNION ALL
  SELECT 'world', 'earth'
) AS trans
ON orig.oldword = trans.oldword;

이 예에서는 가상 테이블( orig)에는 원래 단어가 포함되어 있습니다. 변환 테이블에는 대체 쌍이 포함되어 있습니다. JOIN은 oldword 열을 기준으로 "hello"를 "hi"로, "world"를 "earth"와 일치시킨 다음 결과를 연결합니다.

연습: 공통 테이블 표현식

MySQL의 CTE(공통 테이블 표현식)는 여러 문자를 대체할 수 있는 보다 표현력 있는 대안을 제공합니다. 독자는 연습으로 이 기술을 살펴보는 것이 좋습니다.

위 내용은 MySQL 필드에서 여러 문자를 효율적으로 바꾸려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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