我有一个表,它包含像标志这样的列名,数据看起来像“Y”或“N”。
当我使用“从表名中选择标志”查询从该表中获取数据时,意味着它只显示“Y”或“N”。
但我需要的是,如果它是“Y”表示“是”或“N”表示“否”。
如果我们将使用存储过程意味着我们将使用“If”或“Case”条件轻松完成此概念。
但我想使用单个查询来获取这些数据。
我怎样才能做到这一点?
请朋友们帮帮我...
我有一个表,它包含像标志这样的列名,数据看起来像“Y”或“N”。
当我使用“从表名中选择标志”查询从该表中获取数据时,意味着它只显示“Y”或“N”。
但我需要的是,如果它是“Y”表示“是”或“N”表示“否”。
如果我们将使用存储过程意味着我们将使用“If”或“Case”条件轻松完成此概念。
但我想使用单个查询来获取这些数据。
我怎样才能做到这一点?
请朋友们帮帮我...
一种方法是使用 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)
. . .