SQLのSELECTリストでブール式
-
20-08-2019 - |
質問
私は、MS SQL Serverの2005年に基本的な考え方は、これでユニットテストを行うにはSQL選択を作成したいです
SELECT 'テスト名'、FOO = '結果' バーから ここで、バズ=(いくつかの基準)
アイデアは「foo」というカラムの値が「結果」であるならば、私は真/ 1の値を取得したい、ということで。そうでない場合、私は偽/ 0を取得したい。
残念ながら、T-SQL式が好きではありません。それは、等号にチョークます。
SQL選択リスト内の式を評価し、リターナブル結果を得るためのいくつかの方法がありますか? (それとも私がしたいユニットテストを達成するためのいくつかの他の方法は?)
<時間>編集:3素晴らしい、答え、すべてのCASEを中心に構築されました。私は彼が少なくとも担当者を持っているようfeihtthief年代を受け入れるので、それを最も必要とするでしょう。みんなのおかげで:-)ます。
解決
CASE構文を使用します:
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)
私は、これはしばらく前に頼まれたけど、私は、これはそこに誰かに役立ちます願っています。
所属していません StackOverflow