所以这不是一个普通的条件选择语句。
我目前有一列ID
和一列Number
。 ID
为0或Number
为0。
所以我的select语句需要从表A中选择colA,colB,colC,crazy part
。
crazy part
是这样的:
(If ID > 0, ID, Number)
基本上选择并返回非0的列。
有没有办法在T-SQL中执行此操作?
答案 0 :(得分:11)
这应该这样做:
select colA, colB, colC, case when ID is 0 then Number else ID end as Crazy
from TableA
答案 1 :(得分:3)
CASE
(正如其他人所解释的)肯定有效。但是,如果两者中的一个始终为0,您也可以将它们一起添加。
答案 2 :(得分:2)
答案 3 :(得分:0)
您正在寻找的是CASE
答案 4 :(得分:0)
您可以使用CASE
声明执行此操作:
SELECT
colA,
colB,
colC,
CASE WHEN ID > 0 THEN ID ELSE Number END
FROM
TableA