sql >> Database >  >> RDS >> Sqlserver

Wat is de betekenis van SELECT... FOR XML PATH(' '),1,1)?

Er is geen echte techniek om hier te leren. Het is gewoon een leuke truc om meerdere rijen gegevens samen te voegen tot een enkele string. Het is meer een eigenzinnig gebruik van een functie dan een beoogd gebruik van de XML opmaakfunctie.

SELECT ',' + ColumnName ... FOR XML PATH('')

genereert een reeks door komma's gescheiden waarden, gebaseerd op het combineren van meerdere rijen gegevens uit de ColumnName kolom. Het zal een waarde produceren zoals ,abc,def,ghi,jkl .

STUFF(...,1,1,'')

Wordt dan gebruikt om de eerste komma te verwijderen die de vorige truc heeft gegenereerd, zie STUFF voor details over de parameters.

(Vreemd genoeg hebben veel mensen de neiging om naar deze methode van het genereren van een door komma's gescheiden reeks waarden te verwijzen als "de STUFF-methode", ondanks de STUFF alleen verantwoordelijk zijn voor een laatste beetje trimmen)



  1. Huidige verbindingen in MySQL Workbench bekijken met behulp van de GUI

  2. Hoe YEARWEEK() werkt in MariaDB

  3. JSON_QUERY() Functie in Oracle

  4. PostgreSQL:Waarom kan psql geen verbinding maken met de server?