sql >> Databáze >  >> RDS >> Sqlserver

Co znamená SELECT ... FOR XML PATH(' '),1,1)?

Tady není žádná skutečná technika, kterou by se dalo naučit. Je to jen roztomilý trik, jak zřetězit více řádků dat do jednoho řetězce. Je to spíše nepředvídatelné použití funkce než zamýšlené použití XML funkce formátování.

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

generuje sadu hodnot oddělených čárkami na základě sloučení více řádků dat z ColumnName sloupec. Vytvoří hodnotu jako ,abc,def,ghi,jkl .

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

Poté se použije k odstranění úvodní čárky, kterou vygeneroval předchozí trik, viz STUFF podrobnosti o jeho parametrech.

(Je zvláštní, že mnoho lidí má tendenci označovat tuto metodu generování čárkou oddělené sady hodnot jako „metodu STUFF“ navzdory STUFF zodpovídá pouze za poslední část oříznutí)



  1. Příklady TAN() v SQL Server

  2. Posílejte a získejte zároveň v php

  3. Jak AKTUALIZOVAT jeden sloupec pomocí jiného sloupce v jiné tabulce? Chyba SQL:ORA-00933:Příkaz SQL nebyl správně ukončen

  4. Zápis do konkrétních schémat pomocí RPostgreSQL