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 WHEN
must have a THEN result
, and there is no way around this. The THEN
is 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.