Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memisahkan Rentetan dengan Cekap dalam SQL Server 2008 R2?
<:> Soalan:
Penggunaan rentetan segmentasi pemisah (seperti koma) adalah keperluan umum dalam pemprosesan data. Walau bagaimanapun, banyak penyelesaian yang berkesan dalam versi SQL Server yang lebih tinggi tidak sesuai untuk SQL Server 2008 R2.Penyelesaian:
Untuk SQL Server 2008 R2, kaedah yang boleh dipercayai adalah menggunakan T-SQL untuk membuat fungsi definisi pengguna tersuai (UDF). UDF berikut yang dipanggil dbo.splitstring boleh digunakan untuk membahagikan rentetan mengikut pemisah yang ditentukan:
Untuk menggunakan UDF ini, lulus rentetan untuk dibahagikan sebagai parameter, seperti yang ditunjukkan di bawah:
<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>
Ini akan mengembalikan jadual, yang mengandungi komponen rentetan asal, yang dipisahkan oleh koma.
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Cekap dalam SQL Server 2008 R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!