我有一个表,它包含像flag这样的列名,数据看起来像'Y'或'N'。
当我使用“从表名中选择标志”查询该表中的数据时,查询意味着它只显示“Y”或“N”。
但我需要的是,如果'Y'表示'是'或'N'表示'否。
如果我们使用存储过程意味着我们将使用“If”或“Case”条件轻松地执行此概念。
但我想使用单一查询来获取该数据。
我该怎么做?
请帮帮我朋友......
答案 0 :(得分:0)
一种方法是使用案例陈述:
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)
. . .