Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membahagikan Rentetan Dibatasi Koma dengan Cekap dalam SQL Server 2008 R2?

Bagaimanakah Saya Boleh Membahagikan Rentetan Dibatasi Koma dengan Cekap dalam SQL Server 2008 R2?

DDD
Lepaskan: 2025-01-25 06:56:08
asal
508 orang telah melayarinya

How Can I Efficiently Split Comma-Delimited Strings in SQL Server 2008 R2?

Pemisahan Rentetan T-SQL dalam SQL Server 2008 R2

SQL Server 2008 R2 tidak mempunyai fungsi pemisahan rentetan terbina dalam, menjadikan pemprosesan rentetan dipisahkan koma mencabar. Artikel ini menunjukkan penyelesaian yang teguh menggunakan fungsi tersuai.

Mencipta Fungsi Pisahan Tersuai

Fungsi dbo.splitstring berikut dengan cekap memisahkan rentetan dipisahkan koma:

<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>
Salin selepas log masuk

Penggunaan Fungsi

Untuk menggunakan fungsi, hanya lulus rentetan untuk dipecahkan sebagai parameter:

<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789');</code>
Salin selepas log masuk

Ini akan menghasilkan jadual dengan setiap nilai dipisahkan koma dalam baris yang berasingan:

| Nama | |---|---| | 91 | | 12 | | 65 | | 78 | | 56 | | 789 |

Fungsi tersuai ini menyediakan kaedah yang boleh dipercayai untuk mengendalikan rentetan dipisahkan koma dalam had SQL Server 2008 R2.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Rentetan Dibatasi Koma dengan Cekap dalam SQL Server 2008 R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan