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



我正在尝试在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

字符串常数应为引号,而不是双引号。所以尝试:

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

因为这是 SQL Server ,有IIF():

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

您需要单个引号 constant

(CASE WHEN AribaSupplier_PotentialforCatalogFlag  = 1
      THEN 'true' ELSE 'false'
      WHEN AribaSupplier_PotentialforCatalogFlag = 'True' 
      THEN 'True' ELSE 'False'
 END)

最新更新