Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara membagi string di sql server 2008 menggunakan prosedur tersimpan dan memasukkan data ke tabel

Secara umum, saya menyarankan untuk menulis fungsi CLR yang membagi string dengan regex atau fungsi bernilai tabel SQL, tetapi dalam kasus Anda, Anda dapat mencoba sesuatu yang sederhana seperti mengonversi string Anda ke xml dan menguraikannya:

declare @str nvarchar(max) = 'date=10/10/2000|age=13^date=01/01/2001|age=12^date=02/02/2005|age=8'
declare @data xml

select @str = replace(@str, '=', '="')
select @str = replace(@str, '|', '" ')
select @str = replace(@str, '^', '"/><row ')
select @str = '<row ' + @str + '"/>'

select @data = cast(@str as xml)

select
    t.c.value('@date', 'nvarchar(max)') as [date],
    t.c.value('@age', 'nvarchar(max)') as [age]
from @data.nodes('row') as t(c)

demo biola sql



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat hubungan antara tabel dan tampilan di Entity Framework

  2. Sintaks for-loop di SQL Server

  3. Kode untuk memvalidasi Skrip SQL

  4. Skema basis data, peningkatan otomatis

  5. Kepatuhan GDPR dan SQL Server Anda