PROGRAMMAZIONE QUERY SQL SQL Server Dividere in più colonne il contenuto di una stringa
./image/upload/08-04-2020-12-09-45.jpg

foto-1

Ipotizziamo di avere una tabella così composta:

TABELLA DI PARTENZA : TB_NOME_CARATTERISTICHE

ID      |NOME       |CARATTERISTICHE
1         |LUCA         |OCCHI BLU;CAPELLI NERI;ALTO 1,74cm;PESO 80kg


Vogliamo dividere le CARATTERISTICHE in colonne separate:

TABELLA FINALE : TB_NOME_CARATTERISTICHE_SEPARATE

ID      |NOME       |CARAT_1          |CARAT_2           |CARAT_3         |CARAT_4
1         |LUCA         |OCCHI BLU    |CAPELLI NERI |ALTO 1,74cm  |PESO 80kg

Per poterlo fare andiamo a spezzare in colonne diverse il dato presente nella colonna CARATTERISTICHE usando il ; come nostro separatore:

QUERY :

SELECT DISTINCT d.ID,d.NOME
,S.a.value('(/H/r)[1]', 'VARCHAR(100)') AS CARAT_1
,S.a.value('(/H/r)[2]', 'VARCHAR(100)') AS CARAT_2
,S.a.value('(/H/r)[3]', 'VARCHAR(100)') AS CARAT_3
,S.a.value('(/H/r)[4]', 'VARCHAR(100)') AS CARAT_4
FROM (SELECT *, CAST (N'<H><r>' + REPLACE (TB_NOME_CARATTERISTICHE.CARATTERISTICHE, ';',  '</r><r>')  + '</r></H>' AS XML) AS [vals] FROM TB_NOME_CARATTERISTICHE) d CROSS APPLY d.[vals].nodes('/H/r') S(a);

Buon Web a tutti

Developer - Problem Solver - Business Intelligence

Gestione Hyper-V

Panthera ERP Biella

Programmatore Html - Css Biella

Programmatore Javascript - Jquery Biella

Programmatore PHP Biella

Programmatore SQL Biella

Programmatore Web app Biella

Programmatore Web Biella

Realizzazione Dashboard Personalizzate Biella

Soluzioni B.I. con Qlik View e Qlik Sense Biella

Sviluppo Reportistica Crystal Report Biella

Webmaster Biella

Programmatore web - Webmaster Elio Curtacci
Made with made in italy in Italy
Questo sito web utilizza i COOKIE per dare all'utente un'esperienza di visita migliore.

LOG-IN