Is there a way to make a CASE statement in SQL fall through like the case statement in C#? What I don’t want to do is the example below but if that’s my only option I guess I’ll go with it.
EXAMPLE:
@NewValue =
CASE
WHEN @MyValue = '1' THEN CAST(@MyValue AS int)
WHEN @MyValue = '2' THEN CAST(@MyValue AS int)
ELSE NULL
END
EDIT:
I’m using SQL Server.
To answer your specific question: No, it cannot.
See, for example, the MySQL documentation for CASE. Every
WHENmust have aTHEN result, and there is no way around this. TheTHENis not marked as optional. The same applies to all other RDBMS I’ve used.Here’s another example: Sql Server’s CASE expression
You already have a good alternative way to do it posted as a comment, so I won’t repeat it here.