【问题标题】:if statement in SQL computed Column SpecificationSQL 计算列规范中的 if 语句
【发布时间】:2016-12-30 23:03:07
【问题描述】:

我正在尝试在计算列中内置 if 语句 我想要完成的应该是这样的,但这是更多的伪代码: SalePrice-Cost-(if(isConsigned=1 Then Payout else 0))

我该怎么做,我可以在计算列中使用 if 语句还是应该是其他东西?

【问题讨论】:

  • 使用case 表达式。
  • Ok 在这种情况下如何使用 case 表达式?

标签: sql-server tsql sql-server-2016


【解决方案1】:

这个:

SalePrice-Cost-(iif(isConsigned=1, Payout, 0))

或者

SalePrice-Cost-(CASE isConsigned WHEN 1 THEN Payout ELSE 0 END)

【讨论】:

  • 或者,完成设置:SalePrice - Cost - ( CASE WHEN isConsigned = 1 THEN Payout ELSE 0 END ).
  • 如果输入值来自另一个表并更新其值,计算列值是否更新?如果日期可能过去,它会更新吗?还是仅在添加或更新记录期间计算?
猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多