使用位列作为Where子句的SQL Server计算机列

问题描述 投票:0回答:3

我试图在一个位列的SQL Server Management Studio中创建一个计算列,但它不断出错,说明“Erro验证列的公式......”

我尝试过以下方法:

CASE WHEN AribaSupplier_PotentialforCatalogFlag=1 THEN "True" ELSE "False" END
CASE WHEN AribaSupplier_PotentialforCatalogFlag='1' THEN "True" ELSE "False" END
CASE WHEN AribaSupplier_PotentialforCatalogFlag=True THEN "True" ELSE "False" END
CASE WHEN AribaSupplier_PotentialforCatalogFlag='True' THEN "True" ELSE "False" END
sql sql-server
3个回答
3
投票

字符串常量应使用单引号,而不是双引号。所以尝试:

CASE WHEN AribaSupplier_PotentialforCatalogFlag = 1 THEN 'True' ELSE 'False' END

1
投票

由于这是SQL Server,因此有IIF()

IIF(AribaSupplier_PotentialforCatalogFlag  = 1, 'True', 'False')

0
投票

你需要单引号的字符串常量:

(CASE WHEN AribaSupplier_PotentialforCatalogFlag  = 1
      THEN 'true' ELSE 'false'
      WHEN AribaSupplier_PotentialforCatalogFlag = 'True' 
      THEN 'True' ELSE 'False'
 END)
© www.soinside.com 2019 - 2024. All rights reserved.