在SQL选择列表中的布尔表达式
-
20-08-2019 - |
题
我想创建一个SQL选择做在MS SQL Server中的单元测试2005年的基本思路是这样的:
选择“测试名称”,富=“结果” 从酒吧 其中巴兹=(一些条件)
这个想法是,如果“foo”的列的值是“结果”,然后我得到的真/ 1的值;如果不是,我会得到假/ 0。
不幸的是,T-SQL不喜欢的表达;它扼流圈上等号。
有没有在SQL SELECT列表计算表达式并得到一个可回收结果的某种方式? (或实现我想要的单元测试的一些其他方式?)
编辑:3大,答案,周围的情况下,所有建。因为他得到了至少代表我会接受feihtthief的,因此需要它最。 :-)感谢大家。
解决方案
使用的情况下的结构:
select 'Test Name',
case when foo = 'Result' then 1 else 0 end
from bar where baz = (some criteria)
其他提示
SELECT 'TestName',
CASE WHEN Foo = 'Result' THEN 1 ELSE 0 END AS TestResult
FROM bar
WHERE baz = @Criteria
使用CASE:
SELECT 'Test Name' [col1],
CASE foo
WHEN 'Result' THEN 1
ELSE 0
END AS [col2]
FROM bar
WHERE baz = (some criteria)
您还可以使用:
select
'Test Name',
iif(foo = 'Result', 1, 0)
from bar
where baz = (some criteria)
我知道这是问而回,但我希望这可以帮助别人那里。
不隶属于 StackOverflow