0

私は 1 つのテーブルを持っています。それにはフラグのような列名が含まれており、そのデータは「Y」または「N」のように見えます。

「Select Flag from tablename」クエリを使用してそのテーブルからデータを取得すると、「Y」または「N」のみが表示されることを意味します。

しかし、私が必要としているのは、「Y」が「はい」を意味するか、「N」が「いいえ」を意味するかということです。

ストアド プロシージャを使用する場合は、'If' または 'Case' 条件を使用してこの概念を簡単に実行できることを意味します。

しかし、単一のクエリを使用してそのデータを取得したいと考えています。

これどうやってするの?

友達を助けてください...

4

1 に答える 1

0

1 つの方法は、case ステートメントを使用することです。

select (case when flag = 'Y' then 'Yes'
             when flag = 'N' then 'No'
             else 'Oops!'
        end) as FullFlag
from table t

これは、計算列でも実行できます。テーブルを定義し、フラグをビットとして格納し (これは可能な限り効率的です)、計算列を使用して別の値を取得できます。

create table . . . 
    FlagBit bit,
    Flag as (case when FlagBit = 1 then 'Yes' else 'No' end)
    . . .
于 2012-08-18T19:03:11.663 に答える