Oracle选择字符串在选择语句中为布尔值

时间:2019-01-25 12:36:07

标签: oracle

我是Oracle新手:)

我有一条语句具有名为 Active 的字符串值。值可以为 Y N 。我想做一条选择语句,为该字段返回布尔值。 当前看起来像这样:

select h.catalogueid    ID,
    h.cataloguename     NAME,
    h.uniquecatalogue   INCLUDEPRODUCTS,
    h.active            ACTIVE,
    h.ownbrandedlabels  OWNLABELS            
from cc_ob_catalogueheader h

我想做这样的事情:

select h.catalogueid    ID,
    h.cataloguename     NAME,
    h.uniquecatalogue   INCLUDEPRODUCTS,
    h.active = 'Y'      ACTIVE,
    h.ownbrandedlabels  OWNLABELS            
from cc_ob_catalogueheader h

但这在语法上是不正确的。有人知道我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

我自己解决了这个问题。 我将选择语句更改为此:

select h.catalogueid                                ID,
    h.cataloguename                                 NAME,
    h.uniquecatalogue                               INCLUDEPRODUCTS,
    CASE WHEN (h.active = 'Y') THEN 1 ELSE 0 END    ACTIVE,
    h.ownbrandedlabels                              OWNLABELS
from cc_ob_catalogueheader h