我有一个有一个字段的表,称之为“得分”。 是否可以编写一个SQL,它接受每个“得分”字段中的值,在公式中输入值,然后将公式的输出写入另一个字段。 我没有经验在SQL中使用公式,我不知道它是否可能。 任何基本的例子,如果可行,都会有所帮助。
答案 0 :(得分:1)
是的,但是几乎总是你不想将计算字段存储在数据库中,因为这意味着你的数据库没有正确规范化。
在查询时通过在select语句中包含额外的派生列来计算值。
例外情况是,如果您需要进行耗时的计算,在这种情况下,您可能希望将派生值存储在数据库中。执行此操作的一种好方法是在其中一个输入更改时使用触发器更新值,或者在定时间隔上运行过程以更新整个表中的所有派生值。
答案 1 :(得分:1)
UPDATE OrderLine SET
TotalPrice = UnitPrice * Quantity
就是这样。
答案 2 :(得分:1)
它被称为computed column - 它们在以下方面受到支持:
答案 3 :(得分:1)
我建议您不要存储它,而是建议您在查询时实时计算,或者computed column计算,或者如果性能太慢,则使用indexed view。
答案 4 :(得分:0)
非常模糊的问题,但这是一般性的想法。
更新MyTable SET FormulaOutput = HomeScore + AwayScore
这个“公式”只是将2个分数加在一起
我想你也可以像这样计算“传播”:
UPDATE MyTable SET Spread = MAX(HomeScore,AwayScore) - MIN(HomeScore,AwayScore)