Bonjour,
J'essaye de faire un split sur un text mais ca ne marche pas ce code que j'ai ecris pour un type nvarchar ne fonctionne pas sur un type TEXT ce qui normal mais je ne vois d'ou ca vient, voici le code qui marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Begin
Declare @Cnt int
Declare @Text nvarchar(100)
SET @Text = '9999:2222:3333:4444:5555'
SET @Cnt = 1
While (Charindex(':',@Text) > 0) -- tant qu'il ya des positions de ':'
begin
print ltrim(rtrim(Substring(@Text,1,(charindex(':',@Text)-1))))
set @Text = substring(@Text,Charindex(':',@Text)+1,datalength(@Text))
Set @Cnt = @Cnt + 1
end
print ltrim(rtrim(@Text)) 
end
Quand je change le type en TEXT, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Server: Msg 2739, Level 16, State 1, Line 2
The text, ntext, and image data types are invalid for local variables.
malgré que je change la fonction len en datalength comme j'ai dans plusieurs exemple par rapport au parsing d'un text cvs mais je ne vois toujours pas le probleme.
Peut etre je dois faire un convert ?

Je vous remercie d'avance de votre aide.
AA