SQL 服务器计算列中的条件
Condition in SQL Server computed column
我在 SQL 服务器中创建了一个 table 来存储击球手 运行 和球面数,除此之外我还有一个计算列来获取球员的命中率
(((100) * [TotalRun]) / [TotalBallPlayed])
它工作正常,除非第一个球无效并且玩家得分 运行。
例如:
- 总运行 = 2
- TotalBallPlayed = 0(因为球没有球)
然后这个计算列创建一个异常,导致程序出错。
有没有办法在计算列中添加条件来避免这种情况?
只需使用这样的 IIF
条件:
ALTER TABLE dbo.YourTableNameHere
ADD StrikeRate AS IIF(TotalBallPlayed > 0, (100.0 * [TotalRun]) / [TotalBallPlayed], 0);
这将 return 如果 TotalBallPlayed
大于零,或者只是 0
,如果 TotalBallPlayed = 0
我在 SQL 服务器中创建了一个 table 来存储击球手 运行 和球面数,除此之外我还有一个计算列来获取球员的命中率
(((100) * [TotalRun]) / [TotalBallPlayed])
它工作正常,除非第一个球无效并且玩家得分 运行。
例如:
- 总运行 = 2
- TotalBallPlayed = 0(因为球没有球)
然后这个计算列创建一个异常,导致程序出错。
有没有办法在计算列中添加条件来避免这种情况?
只需使用这样的 IIF
条件:
ALTER TABLE dbo.YourTableNameHere
ADD StrikeRate AS IIF(TotalBallPlayed > 0, (100.0 * [TotalRun]) / [TotalBallPlayed], 0);
这将 return 如果 TotalBallPlayed
大于零,或者只是 0
,如果 TotalBallPlayed = 0