SQL Server 2008 R2에서 T-SQL 문자열 분할
SQL Server 2008 R2에는 문자열 분할 기능이 내장되어 있지 않아 쉼표로 구분된 문자열 처리가 어렵습니다. 이 기사에서는 사용자 정의 기능을 사용한 강력한 솔루션을 보여줍니다.
사용자 정의 분할 기능 만들기
다음 dbo.splitstring
함수는 쉼표로 구분된 문자열을 효율적으로 분할합니다.
<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX)) RETURNS @returnList TABLE ([Name] [nvarchar](500)) AS BEGIN DECLARE @name NVARCHAR(255), @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>
이렇게 하면 각 쉼표로 구분된 값이 별도의 행에 포함된 테이블이 생성됩니다.
| 이름 | |---|---| | 91 | | 12 | | 65 | | 78 | | 56 | | 789 |
이 사용자 정의 함수는 SQL Server 2008 R2의 제한 내에서 쉼표로 구분된 문자열을 처리하기 위한 안정적인 방법을 제공합니다.
위 내용은 SQL Server 2008 R2에서 Comma에 따른 문자열을 효율적으로 분할하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!