T-SQL, Verwendung mehrerer CASE

Perlmann

Mitglied
Hellau zusammen ;-)

Bei der Verwendung von mehreren Case-Anweisungen innerhalb einer T-SQL-stored-Procedure scheint syntaktisch etwas nicht zu stimmen, was blos?:
Code:
SELECT		RNr, WNr, 
		case 			
		when charindex(',',Temp)  > 0  then
  			convert(int,left(Temp,convert(int,charindex(',',Temp))-1))
		end AS Expr1,
		case
 			when charindex(',',Temp)  > 0
  			then  convert(int,substring(Temp,convert(int,charindex(',',Temp))+1,6)
		end as Expr2
FROM         dbo.qry_Irgendeine

Die Case-Anweisungen funktionieren einzeln, aber nicht "in Reihe".
Angemerkt wird ein Fehler "in der Nähe" des ersten END.
Ein Komma befindetn sich dort aber, fehlt da sonst noch irgendwas?


Besten Dank
Phil
 
...
Angemerkt wird ein Fehler "in der Nähe" des ersten END.
Nein, bei mir wird auf die Zeile 9 - also dem letzten 'end' verwiesen;)
Der Fehler ist auch KLAR::p

Code:
...then  convert(int,substring(Temp,convert(int,charindex(',',Temp))+1,6))
end 
...
Erkannt? EINE abschliessende Klammer ) fehlte ...kleine Wirkung grosse Ursache ;)

Andere Schreibweise:
Code:
SELECT		RNr, WNr, Expr1=
		case 			
		when charindex(',',Temp)  > 0  then
  			convert(int,left(Temp,convert(int,charindex(',',Temp))-1))
		end ,
                Expr2 =
		case
 			when charindex(',',Temp)  > 0
  			then  convert(int,substring(Temp,convert(int,charindex(',',Temp))+1,6))
		end 
FROM         dbo.qry_Irgendeine
 
Hallo,

in der Tat, nach ewigem Gucken hat man dann schon Tomaten auf den Augen und erkennt die einfachsten "Dinge" (fehlende Klammern) nicht.

mercie
Phil
 

Neue Beiträge

Zurück