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

SQL Server 2005:pisahkan string menjadi array dan dapatkan array (x)?

Saya berasumsi di sini bahwa selalu ada tepat 4 bagian.

Jika demikian, Anda dapat mengganti / dengan . dan gunakan built in ParseName fungsi. Satu-satunya masalah dari contoh Anda adalah bahwa itu dihitung dari akhir, jadi Anda harus berhati-hati tentang bagian mana yang Anda inginkan:

DECLARE @test VARCHAR(max);
SET @test = 'Peter/Parker/Spiderman/Marvel';
SET @test = Replace(@test, '/', '.');

SELECT Parsename(@test, 4),--returns Peter
       Parsename(@test, 3),--returns Parker
       Parsename(@test, 2),--returns Spiderman
       Parsename(@test, 1) --returns Marvel

Jika ada sejumlah variabel bagian, Anda harus menemukan fungsi pemisahan string untuk melakukan ini untuk Anda, tidak ada yang bagus di dalamnya. Banyak opsi dapat ditemukan mencari SO:https://stackoverflow.com/search?q=[sql+server]+string+split

Peringatan - jika Anda mencoba menggunakan nomor dengan PARSENAME selain 1-4, hasilnya akan selalu NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005/2008:Sisipkan File di kolom varbinary(max) di Transact-SQL

  2. Menunjukkan catatan utama/default dalam database

  3. Memutar file video dari sql server blob melalui ashx handler menggunakan HTML5 Video Tag

  4. ORDER BY item harus muncul dalam daftar pilih jika SELECT DISTINCT ditentukan

  5. Cara update dan order menggunakan ms sql