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
Mary-Kate Olsenasal
2025-01-25 07:11:08463semak imbas

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>
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>

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:
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