SQL Server:CASE WHEN ORTER ELSE END => OR不受支持
不支持
CASE
语句的WHEN
子句中的OR
。我怎样才能做到这一点?
CASE ebv.db_no
WHEN 22978 OR 23218 OR 23219 THEN 'WECS 9500'
ELSE 'WECS 9520'
END as wecs_system
没有找到相关结果
已邀请:
10 个回复
碧肮械淌设
否则,使用:
讹巳漓把备
bab
苛肠倒俱
2。
但无论如何,您可以预期变量排名将在布尔表达式中进行比较。 请参阅CASE(Transact-SQL)(MSDN)。
闯舱酮
已经有很多答案了。我将解释何时以及如何使用
。 您可以在SQL查询中的任何位置使用CASE表达式。 CASE表达式可以在SELECT语句,WHERE子句,Order by子句,HAVING子句,Insert,UPDATE和DELETE语句中使用。 CASE表达式具有以下两种格式: 简单的CASE表达
这会将表达式与一组简单表达式进行比较,以查找结果。此表达式将表达式与每个WHEN子句中的表达式进行比较以获得等效性。如果WHEN子句中的表达式匹配,则返回THEN子句中的表达式。 这是OP的问题正在下降的地方。
不会得到一个等于表达式的值,即ebv.db_no。这就是为什么它会出错。 input_expression和每个when_expression的数据类型必须相同或必须是隐式转换。 搜索CASE表达式
此表达式计算一组布尔表达式以查找结果。此表达式允许在每个布尔表达式中使用比较运算符和逻辑运算符AND / OR。 1.SELECT语句与CASE表达式
2.带有CASE表达式的更新语句
带有CASE表达式的3.ORDER BY子句
4.带有CASE表达式的子句
希望这个用例将来有助于某人。 资源
赐黄
疾很毋悲
仿普
壬驴拿歪竞
磐去裸猜饲