Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server hat CSV in mehrere Zeilen aufgeteilt

from
    #client_profile_temp cpt
    cross apply dbo.split(
    #client_profile_temp.interests, ',') as split  <--Error is on this line

Ich denke, die explizite Benennung von #client_profile_temp, nachdem Sie ihm einen Alias ​​gegeben haben, ist ein Problem, versuchen Sie es mit dieser letzten Zeile:

    cpt.interests, ',') as split  <--Error is on this line

BEARBEITEN Sie sagen

Ich habe diese Änderung vorgenommen und es hat sich nichts geändert

Versuchen Sie, den folgenden Code einzufügen (in ein neues SSMS-Fenster)

create table #client_profile_temp
(id int,
interests varchar(500))

insert into  #client_profile_temp
values
(5, 'Vodka,Potassium,Trigo'),
(6, 'Mazda,Boeing,Alcoa')

select
   cpt.id
  ,split.data
from
    #client_profile_temp cpt
    cross apply dbo.split(cpt.interests, ',') as split 

Sehen Sie, ob es wie erwartet funktioniert; Ich verwende SQL Server 2008 und das funktioniert für mich, um die Art von Ergebnissen zu erhalten, von denen ich denke, dass Sie sie wollen.

Gibt es eine Chance, wenn Sie sagen "Ich habe die Änderung vorgenommen", dass Sie gerade eine gespeicherte Prozedur geändert, aber nicht ausgeführt haben, oder ein Skript geändert haben, das eine gespeicherte Prozedur erstellt, und das nicht ausgeführt haben, etwas in dieser Richtung? Wie gesagt, es scheint bei mir zu funktionieren.