rentetan yang dipisahkan koma yang cekap dalam SQL Server 2008 R2
Bekerja dengan rentetan yang dipisahkan koma di SQL Server 2008 R2 sering memerlukan pemisahannya ke dalam elemen individu. Walaupun beberapa penyelesaian dalam talian jatuh pendek, fungsi tersuai ini menyediakan kaedah yang boleh dipercayai:
<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>
, mengambil rentetan yang dipisahkan koma sebagai input dan mengembalikan jadual di mana setiap baris mengandungi elemen tunggal. Untuk menggunakannya: dbo.splitstring
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789');</code>
Atas ialah kandungan terperinci Bagaimana untuk memisahkan rentetan yang dipisahkan koma di SQL Server 2008 R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!