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

Как да разширя стойностите, разделени със запетая, в отделни редове, използвайки SQL Server 2005?

Разгледайте тази функция. Правил съм подобни трикове за разделяне и транспониране на данни в Oracle. Превъртете данните, като вмъкнете декодираните стойности във временна таблица. Основното нещо е, че MS ще ви позволи да правите това в движение, докато Oracle изисква изрична временна таблица.

Функция за разделяне на MS SQL
По-добра функция за разделяне

Редактиране от автор: Това работи чудесно. Крайният код изглеждаше така (след създаване на функцията split):

select pv.productid, colortable.items as color
from product p 
    cross apply split(p.color, ',') as colortable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да премахнете базата данни с помощта на TSQL и GUI - SQL Server / TSQL Урок, част 25

  2. SSMS 2016 Грешка при импортиране на Azure SQL v12 bacpac:главните ключове без парола не се поддържат

  3. Генерирайте набор от резултати от нарастващи дати в TSQL

  4. Техническо сравнение:Microsoft Access 2016 срещу SQL Server 2016

  5. Защо да използвате първичен ключ без null в TSQL?