SQL Server 计算列

发布于 2024-09-30 05:10:12 字数 210 浏览 8 评论 0原文

我有两列,都是整数,WinsLosses。我有一个计算列 WinPercentage 作为 decimal(14,3),我希望它是:

WinPercentage = (Wins + Losses) / Wins

它的语法是什么?

I have two columns, both int's, Wins and Losses. I have a calculated column WinPercentage as a decimal(14,3), I want this to be:

WinPercentage = (Wins + Losses) / Wins

What's the syntax for that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

书信已泛黄 2024-10-07 05:10:16

要在现有表中创建计算列,请使用“ALTER TABLE”。

胜率的计算公式为
胜率 = (胜数 / (胜数 + 负数)) * 100

当胜负总数为 0 时,利用 NULLIF 函数来防止被零除的问题。

    ALTER TABLE [Win Loss Percentage]
    ADD WinPercentage AS (CONVERT(decimal(5, 2), (Wins * 100.0 / NULLIF((Wins + Losses), 0)))) PERSISTED;

希望!这很有帮助。

To create a calculated column into the existed table, then use "ALTER TABLE".

The formula for win percentage is
Win Percentage = (Wins / (Wins + Losses)) * 100

When the total of wins and losses is 0, the NULLIF function is utilized to prevent division by zero problems.

    ALTER TABLE [Win Loss Percentage]
    ADD WinPercentage AS (CONVERT(decimal(5, 2), (Wins * 100.0 / NULLIF((Wins + Losses), 0)))) PERSISTED;

Hope! it's helpful.

ゃ人海孤独症 2024-10-07 05:10:15
CREATE TABLE WinLoss
(
 TeamId int IDENTITY(1,1) NOT NULL,
 Wins int,
 Losses int,
 WinPercentage AS CASE WHEN wins > 0 THEN (Wins + Losses) / Wins ELSE 0 END
)
CREATE TABLE WinLoss
(
 TeamId int IDENTITY(1,1) NOT NULL,
 Wins int,
 Losses int,
 WinPercentage AS CASE WHEN wins > 0 THEN (Wins + Losses) / Wins ELSE 0 END
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文