Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Какво е значението на SELECT ... FOR XML PATH(' ),1,1)?

Тук няма истинска техника за учене. Това е просто сладък трик за свързване на множество редове данни в един низ. Това е по-скоро странно използване на функция, отколкото предназначено използване на XML функция за форматиране.

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

генерира набор от стойности, разделени със запетая, въз основа на комбиниране на множество редове данни от ColumnName колона. Той ще произведе стойност като ,abc,def,ghi,jkl .

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

След това се използва за премахване на водещата запетая, генерирана от предишния трик, вижте STUFF за подробности относно параметрите му.

(Странно, много хора са склонни да наричат ​​този метод за генериране на разделен със запетая набор от стойности като "метод STUFF" въпреки STUFF отговаря само за последното подрязване)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OPENXML с xmlns:dt

  2. SQL Query Where Column ='' връщащи знаци за емоджи 🎃 и 🍰

  3. Стартирайте всички SQL файлове в директория

  4. Как да върнете изхода на съхранената процедура в променлива в sql сървър

  5. Достигане на ограничението от 2100 параметър (SQL Server) при използване на Contains()