질문:
이름 목록이 포함된 단일 열을 이름과 성으로 구성된 여러 열로 변환하려고 합니다.
예:
<code class="language-sql">姓名 ------------ abcd efgh ijk lmn opq asd j. asdjja asb (asdfas) asd asd</code>
예상 출력:
<code class="language-sql">名 姓 ---------------------------------- abcd efgh ijk lm opq asd asdjja asb asd asd NULL</code>
해결책:
이전 방법으로는 모든 이름 형식을 올바르게 처리하지 못할 수 있습니다. 다음은 T-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)) ELSE NULL END AS last_name FROM YourTable;</code>
이 SQL 코드는 먼저 이름에 공백이 있는지 확인합니다. 존재하는 경우 SUBSTRING
함수를 사용하여 공백 앞 부분을 이름으로 추출하고 공백 뒤 부분을 성으로 추출합니다. 이름에 공백이 없으면 이름 전체가 이름으로 사용되고 성은 NULL이 됩니다. 이는 이전 솔루션보다 더 강력하며 다양한 이름 형식을 더 잘 처리합니다.
위 내용은 SQL에서 이름의 단일 열을 이름과 성 열로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!