Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam T-SQL 2008 R2?

Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam T-SQL 2008 R2?

DDD
Lepaskan: 2025-01-25 07:02:07
asal
627 orang telah melayarinya

How Can I Split Comma-Separated Strings in T-SQL 2008 R2?

Pisah rentetan dalam T-SQL 2008 R2

Dalam SQL Server 2008 R2, pengguna menghadapi cabaran apabila cuba memisahkan rentetan yang dipisahkan koma. Walaupun mencari StackOverflow, nampaknya penyelesaian yang tersedia mungkin tidak serasi dengan versi ini.

Penyelesaian

Untuk memisahkan rentetan dengan cekap dalam T-SQL 2008 R2, fungsi yang ditentukan pengguna berikut boleh digunakan:

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

Contoh penggunaan

Untuk menggunakan fungsi ini, laksanakan pertanyaan berikut:

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

Pertanyaan ini akan mengembalikan jadual hasil yang mengandungi elemen rentetan individu yang dipisahkan dengan koma.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam T-SQL 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