有没有办法使sql中的CASE语句像C#中的case语句一样?我不想做的是下面的例子,但如果这是我唯一的选择,我想我会一起去.
例:
@NewValue = CASE WHEN @MyValue = '1' THEN CAST(@MyValue AS int) WHEN @MyValue = '2' THEN CAST(@MyValue AS int) ELSE NULL END
编辑:
我正在使用sql Server.
解决方法
回答你的具体问题:不,不行.
例如,参见MySQL documentation for CASE.每个WHEN都必须有一个THEN结果,而且没有办法. THEN没有标记为可选.同样适用于我所使用的所有其他RDBMS.
这是另一个例子:Sql Server’s CASE expression