0

の変数に応じて異なるデータを返そうとしていますSELECT。このようなもの:

SELECT
   IF @variable = 'YES'
      column1, column2
   ELSE
      column3
FROM TABLE

IFSQL で条件を使用する適切な方法は何ですか? または、私が達成しようとしていることのより良い代替手段はありますか?

4

2 に答える 2

5

異なる数の列を返したい場合は、次を使用する必要がありますIF

IF @variable = 'YES'
BEGIN
    SELECT column1, column2
    FROM YourTable
END
ELSE
BEGIN 
    SELECT column3
    FROM YourTable
END

同じ列に異なるデータが必要な場合 (同じデータ型を想定)、次を使用できますCASE

SELECT CASE WHEN @variable = 'YES' THEN column1 ELSE Column2 AS Data
FROM YourTable
于 2013-05-08T15:42:39.353 に答える