SQL Express Funktion CharIndex()

Perlmann

Mitglied
Hallo zusammen,

ich bastelte hier mit SSE (SQL-Server-Express) an einer Stored Procedure, die im Grunde einfachsten Inhaltes ist, ich übersehe aber offenbar etwas Grund-Elementares.

Aus einer Tabelle soll ein Feld (nvarchar) ausgelesen werden, in dem Werte entweder mit Komma oder ohne erscheinen. Zum einen soll der Wert ausgegeben werden und weiterhin die Werte VOR dem Komma, sofern ein Komma vorkommt, ansonsten leer also null:

SELECT Wert,
if charindex(',',Wert) > 0
left(Wert,charindex(',',Wert))-1 as WERT_L
else
'' as WERT_L
FROM dbo.tabelle

Bereits bei IF ist die Syntax falsch, pourque?

Vielen Dank
Phil
 
Hallo Perlmann,

du kannst hier kein IF verwenden, du musst ein Case benutzen.
Syntax CASE:
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END

Syntax IF:
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
 
Zurück