> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 단일 '이름' 열을 '이름' 및 '성' 열로 분할하는 방법은 무엇입니까?

SQL에서 단일 '이름' 열을 '이름' 및 '성' 열로 분할하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-13 11:54:43
원래의
345명이 탐색했습니다.

How to Split a Single

단일 열 값을 여러 열로 분할

이 작업은 단일 "이름" 열의 값을 이름과 성을 포함한 여러 열로 분할하는 것입니다. 중간 이름을 생략하고 "first_name" 및 "last_name" 열에 결과 데이터를 표시하려고 합니다.

맞춤형 솔루션

제안된 접근 방식은 다양한 이름 형식을 처리하는 데 적합하지 않을 수 있습니다. 그러나 사용자 지정 SQL 쿼리를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

<code class="language-sql">SELECT 
    CASE
        WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1)
        ELSE name
    END AS first_name,
    CASE
        WHEN name LIKE '% %' THEN RIGHT(name, LEN(name) - Charindex(' ', REVERSE(name)))
        ELSE NULL
    END AS last_name
FROM YourTable;</code>
로그인 후 복사

이 쿼리는 Charindex 함수를 사용하여 이름 열에서 첫 번째 공백 문자의 위치를 ​​찾습니다. 공백이 발견되면 이름이 이름 부분과 성 부분으로 분할됩니다. 공백이 없으면 이름 열에 전체 이름이 할당되고 성 열에는 NULL 값이 할당됩니다. RIGHT 함수의 두 번째 매개변수는 LEN(name)을 사용하여 문자열 길이를 계산하도록 수정되어 성이 올바르게 추출되도록 했습니다.

위 내용은 SQL에서 단일 '이름' 열을 '이름' 및 '성' 열로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿