Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server podzielił plik CSV na wiele wierszy

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

Myślę, że jawne nazewnictwo #client_profile_temp po nadaniu mu aliasu jest problemem, spróbuj zrobić ostatnią linię:

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

EDYTUJ Mówisz

Wprowadziłem tę zmianę i nic nie zmieniło

Spróbuj wkleić poniższy kod (w nowym oknie SSMS)

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 

Sprawdź, czy działa zgodnie z oczekiwaniami; Używam serwera sql 2008 i to działa dla mnie, aby uzyskać takie wyniki, jakie myślę, że chcesz.

Czy jest szansa, że ​​kiedy powiesz „dokonałem zmiany”, właśnie zmieniłeś procedurę składowaną, ale jej nie uruchomiłeś, lub zmieniłeś skrypt, który tworzy procedurę składowaną i nie uruchomiłeś jej, coś podobnego? Jak mówię, wydaje mi się, że to działa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niepoprawna składnia w pobliżu ''

  2. Łączenie wielu tabel zwraca wartość NULL

  3. DATENAME() Przykłady w SQL Server

  4. Trigram Wildcard – wyszukiwanie ciągów znaków w SQL Server

  5. Różnica czasu SQL między dwiema datami daje wynik gg:mm:ss