有没有办法让 SQL 中的 CASE 语句像 C# 中的 case 语句一样失败?我不想做的是下面的例子,但如果这是我唯一的选择,我想我会选择它。
EXAMPLE:
@NewValue =
CASE
WHEN @MyValue = '1' THEN CAST(@MyValue AS int)
WHEN @MyValue = '2' THEN CAST(@MyValue AS int)
ELSE NULL
END
EDIT:
我正在使用 SQL Server。
回答您的具体问题:不,它不能。
例如,参见CASE 的 MySQL 文档 http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html. Every WHEN
必须有一个THEN result
,并且没有办法解决这个问题。这THEN
未标记为可选。这同样适用于我使用过的所有其他 RDBMS。
这是另一个例子:Sql Server 的 CASE 表达式 http://msdn.microsoft.com/en-us/library/ms181765.aspx
您已经有一个很好的替代方法作为评论发布,所以我不会在这里重复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)