1

我是持久列中的公式语法的新手并且遇到问题。

A - 我需要case when (CustomerAccountID IS NULL and MissCustNameMatched=0) OR errLicensingProgMissing=1 OR errLicensingSubMissing=1 then (1) else (0) end

这将无法正确验证。

B - 或者我可以这样做 *

案子

  • 当 [MissCustName] 为真时
    • 当 [CustomerAccountName] 为 NULL 时
      • (1)
    • 别的
      • (0)
    • 结尾
  • 别的
    • (0)
  • 结尾*
4

1 回答 1

1

您的两种情况在列名上不匹配,但在持久字段声明之后显示了如何使用CASE语句来完成。

CREATE TABLE dbo.Test (
  CustomerAccountID INTEGER
  , MissCustNameMatched INTEGER
  , errLicensingProgMissing INTEGER
  , errLicensingSubMissing INTEGER
  , persistedField AS 
      CASE MissCustNameMatched WHEN 1 
      THEN 
        CASE CustomerAccountID WHEN 1 
        THEN 1 
        ELSE 0 
        END 
      ELSE 0 
      END PERSISTED
)  
于 2012-06-13T11:08:05.047 回答