질문:
구분 기호(예: 쉼표)를 사용하여 문자열을 분할하는 것은 데이터 처리에서 일반적으로 필요합니다. 그러나 이후 버전의 SQL Server에서 작동하는 많은 솔루션은 SQL Server 2008 R2에서는 작동하지 않습니다.
해결책:
SQL Server 2008 R2의 경우 신뢰할 수 있는 방법은 T-SQL을 사용하여 사용자 지정 사용자 정의 함수(UDF)를 만드는 것입니다. dbo.splitstring이라는 다음 UDF를 사용하여 지정된 구분 기호로 문자열을 분할할 수 있습니다.
<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX)) RETURNS @returnList TABLE ([Name] [nvarchar](500)) AS BEGIN DECLARE @name NVARCHAR(255) DECLARE @pos INT WHILE CHARINDEX(',', @stringToSplit) > 0 BEGIN SELECT @pos = CHARINDEX(',', @stringToSplit) SELECT @name = SUBSTRING(@stringToSplit, 1, @pos - 1) INSERT INTO @returnList SELECT @name SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos + 1, LEN(@stringToSplit) - @pos) END INSERT INTO @returnList SELECT @stringToSplit RETURN END</code>
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
위 내용은 SQL Server 2008 R2에서 문자열을 효율적으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!