Rumah > pangkalan data > tutorial mysql > Bagaimana untuk memisahkan rentetan yang dipisahkan koma di SQL Server 2008 R2?

Bagaimana untuk memisahkan rentetan yang dipisahkan koma di SQL Server 2008 R2?

Mary-Kate Olsen
Lepaskan: 2025-01-25 07:11:08
asal
435 orang telah melayarinya

How to Split Comma-Separated Strings in SQL Server 2008 R2?

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

, mengambil rentetan yang dipisahkan koma sebagai input dan mengembalikan jadual di mana setiap baris mengandungi elemen tunggal. Untuk menggunakannya: dbo.splitstring

Pertanyaan ini secara berkesan akan memisahkan rentetan input ke bahagian konstituennya, menyediakan penyelesaian praktikal untuk mengendalikan data yang dibatasi koma dalam SQL Server 2008 R2.
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789');</code>
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan