案例表达错误(NON-布尔值)

时间:2018-05-01 12:38:43

标签: sql-server tsql

当我尝试使用case语句时,我收到错误请在SQL Query中是新手,任何人都知道我错在哪里

  

在预期条件的上下文中指定的非布尔类型的表达式,靠近'和'。

2 个答案:

答案 0 :(得分:0)

您可能想要(检查行中是否所有列都为真):

SELECT
  case when (
     SIGN(Orcale) * SIGN(Sqlserver) * SIGN(GeoDatabase) * SIGN(Shapefile) * 
     SIGN(Cadfile) * SIGN(Excel) *SIGN(Word) * SIGN(OtherType)) = 1 then 'u'
     ELSE 'Re'
  end
FROM tab;

<强> DBFiddle Demo

答案 1 :(得分:0)

假设在所有列都为真的情况下,而不是lad2025的答案,您想知道任何列是否为真,这将有效。

SELECT
  CASE
    WHEN 
     (Oracle + Sqlserver + GeoDatabase + Shapefile + Cadfile + Excel + Word + OtherType) = 0 
      THEN 'u'
    ELSE 'Re'
  END;