집 >데이터 베이스 >MySQL 튜토리얼 >구분 기호를 사용하여 T-SQL에서 문자열을 강력하게 분할하는 방법은 무엇입니까?
T-SQL 문자열 분할: 누락된 구분 기호를 현명하게 처리
T-SQL에서는 구분 기호를 기준으로 문자열을 분할하는 것이 까다로울 수 있으며, 특히 일부 행에 구분 기호가 누락된 경우 더욱 그렇습니다. 이 문서에서는 이 문제를 해결하기 위한 향상된 방법을 제공합니다.
데이터가 다음과 같다고 가정합니다.
<code>John/Smith Jane/Doe Steve Bob/Johnson</code>
원본 코드:
다음 코드는 데이터 분할을 시도하지만 구분 기호가 없으면 실패합니다.
<code>SELECT SUBSTRING(myColumn, 1, CHARINDEX('/', myColumn)-1) AS FirstName, SUBSTRING(myColumn, CHARINDEX('/', myColumn) + 1, 1000) AS LastName FROM MyTable</code>
향상된 코드:
구분자가 누락된 경우를 처리하려면 다음 CASE 표현식을 사용할 수 있습니다.
<code>SELECT SUBSTRING(myColumn, 1, CASE CHARINDEX('/', myColumn) WHEN 0 THEN LEN(myColumn) ELSE CHARINDEX('/', myColumn) - 1 END) AS FirstName ,SUBSTRING(myColumn, CASE CHARINDEX('/', myColumn) WHEN 0 THEN LEN(myColumn) + 1 ELSE CHARINDEX('/', myColumn) + 1 END, 1000) AS LastName FROM MyTable</code>
설명:
이 코드는 예상된 결과를 생성합니다.
<code>FirstName---LastName John--------Smith Jane--------Doe Steve-------NULL Bob---------Johnson</code>
위 내용은 구분 기호를 사용하여 T-SQL에서 문자열을 강력하게 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!