Подтвердить что ты не робот

Булевы выражения в списке выбора SQL

Я хочу создать SQL Select для проведения модульного теста в MS SQL Server 2005. Основная идея заключается в следующем:

select 'Test Name', foo = 'Result'
from bar
where baz = (some criteria)

Идея заключается в том, что если значение столбца "foo" равно "Результат", то я получу значение true/1; в противном случае я получу false/0.

К сожалению, T-SQL не нравится выражение; он задыхается от знака равенства.

Есть ли какой-нибудь способ оценки выражения в списке выбора SQL и получения возвращаемого результата? (Или какой-то другой способ добиться модульного тестирования, который я хочу?)


ОБНОВЛЕНИЕ: 3 здорово, ответы, все построено вокруг CASE. Я приму feihtthief, поскольку он получил наименьшее количество повторений и, следовательно, нуждается в нем больше всего :-) Спасибо всем.

4b9b3361

Ответ 2

SELECT 'TestName', 
    CASE WHEN Foo = 'Result' THEN 1 ELSE 0 END AS TestResult
FROM bar 
WHERE baz = @Criteria

Ответ 3

Используйте CASE:

SELECT 'Test Name' [col1],
  CASE foo
    WHEN 'Result' THEN 1
    ELSE 0
  END AS [col2]
FROM bar
WHERE baz = (some criteria)

Ответ 4

Вы также можете использовать:

select 
    'Test Name', 
    iif(foo = 'Result', 1, 0)
from bar 
where baz = (some criteria)

Я знаю, что это было задано некоторое время назад, но я надеюсь, что это поможет кому-то там.