Условие в вычисляемом столбце SQL Server - PullRequest
0 голосов
/ 24 декабря 2018

Я создал таблицу в SQL Server, в которой хранятся данные о бегах с битой и счетчиком шаров, в дополнение к этому у меня был вычисляемый столбец для определения скорости удара игроков

(((100) * [TotalRun]) / [TotalBallPlayed])

, он отлично работает, если толькопервый мяч становится недействительным, и против него набираются очки игрока.

Например:

  • TotalRun = 2
  • TotalBallPlayed = 0 (поскольку мяч не был мячом)

Затем этот вычисляемый столбец создает исключение, которое приводит к ошибке в программе.

Есть ли способ добавить условие в вычисляемый столбец, чтобы избежать этой ситуации?

1 Ответ

0 голосов
/ 24 декабря 2018

Просто используйте условие IIF, подобное этому:

ALTER TABLE dbo.YourTableNameHere
ADD StrikeRate AS IIF(TotalBallPlayed > 0, (100.0 * [TotalRun]) / [TotalBallPlayed], 0);

Это вернет формулу, которая была у вас, если TotalBallPlayed больше нуля, или просто 0, если TotalBallPlayed = 0

...