SQL Selectを作成して、MS SQL Server 2005で単体テストを実行します。基本的な考え方は次のとおりです。
「テスト名」、foo =「結果」を選択します。ここで、baz =(いくつかの基準)
「foo」列の値が「Result」の場合、true/1の値を取得するという考えです。そうでない場合、false/0になります。
残念ながら、T-SQLはこの式が好きではありません。等号で窒息します。
SQL選択リスト内の式を評価し、返される結果を取得する方法はありますか? (または私が望むユニットテストを達成する他の方法?)
編集:3つの素晴らしい答え、すべてCASEを中心に構築されています。彼が最も少ない担当者を持っているので、それを最も必要としているので、私はfeihtthiefを受け入れます。 :-) 皆に感謝します。
ケース構成を使用します。
select 'Test Name',
case when foo = 'Result' then 1 else 0 end
from bar where baz = (some criteria)
MSDN Transact-SQL CASEドキュメント も参照してください。
SELECT 'TestName',
CASE WHEN Foo = 'Result' THEN 1 ELSE 0 END AS TestResult
FROM bar
WHERE baz = @Criteria
使用事例:
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)
私はこれがしばらく前に尋ねられたことを知っていますが、これがそこの誰かを助けることを望みます。