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

Bagaimana cara mengurai string dan membuat beberapa kolom darinya?

SELECT substring(NameValue, 1, charindex('_', NameValue)-1) AS Names, 
  substring(NameValue, charindex('_', NameValue)+1, LEN(NameValue)) AS Values
FROM Table

EDIT :Sesuatu seperti ini memasukkan fungsi atau prosedur tersimpan yang dikombinasikan dengan tabel temp harus bekerja untuk lebih dari satu baris, tergantung pada pembatas baris Anda juga harus menghapus CHAR(13) sebelum Anda mulai:

DECLARE @helper varchar(512)
DECLARE @current varchar(512)
SET @helper = NAMEVALUE
WHILE CHARINDEX(CHAR(10), @helper) > 0 BEGIN
    SET @current = SUBSTRING(@helper, 1, CHARINDEX(CHAR(10), NAMEVALUE)-1)
    SELECT SUBSTRING(@current, 1, CHARINDEX('_', @current)-1) AS Names, 
      SUBSTRING(@current, CHARINDEX('_', @current)+1, LEN(@current)) AS Names
    SET @helper = SUBSTRING(@helper, CHARINDEX(CHAR(10), @helper)+1, LEN(@helper))
END
SELECT SUBSTRING(@helper, 1, CHARINDEX('_', @helper)-1) AS Names, 
  SUBSTRING(@helper, CHARINDEX('_', @helper)+1, LEN(@helper)) AS Names


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Menghitung Jumlah Tabel Sistem dalam Database SQL Server

  2. Penyembunyian Data Dinamis di SQL Server untuk pemula

  3. Cara mendekripsi prosedur tersimpan di SQL Server 2008

  4. Cetak Isi DataTable

  5. Bagaimana menerapkan Memiliki Klausa dengan Grup dengan di Select Query - Tutorial SQL Server / TSQL Bagian 131