집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 단일 이름 열을 이름과 성 열로 분할하려면 어떻게 해야 합니까?
SQL 솔루션: 단일 열 값을 여러 열로 분할
단일 열 값을 여러 열로 분할하는 것은 데이터 처리에서 일반적인 시나리오입니다. 다음은 SQL 솔루션입니다.
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN SUBSTRING(name, 1, CHARINDEX(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN SUBSTRING(name, CHARINDEX(' ', name) + 1, LEN(name)) END AS last_name FROM YourTable;</code>
이 쿼리는 CASE 문을 사용하여 이름 열에 공백이 있는지 확인합니다. 공백이 발견되면 첫 번째 조건문은 공백 앞의 문자를 추출하여 first_name 열에 할당합니다. 공백이 없는 값의 경우 직접 할당하세요.
last_name 열의 경우 유사한 접근 방식이 사용됩니다. 하지만 중간 이름이 포함되는 것을 피하기 위해 SUBSTRING 함수를 사용하여 공백 뒤의 부분을 직접 추출합니다. 이렇게 하면 원래 이름에 두 단어 이상이 있어도 성이 정확하게 추출됩니다.
쿼리 결과에는 first_name과 last_name이라는 두 개의 열이 포함됩니다. 이 방법은 완벽하지 않으며 복잡한 이름 형식을 완벽하게 처리하지 못할 수도 있다는 점에 유의하는 것이 중요합니다. 그러나 이는 SQL을 사용하여 단일 열 값을 여러 열로 분할하기 위한 좋은 시작점을 제공합니다.
위 내용은 SQL을 사용하여 단일 이름 열을 이름과 성 열로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!