T-SQL Существует ли сокращенная версия CASE WHEN ..? - PullRequest
0 голосов
/ 29 февраля 2012

С годами обработки особых случаев в некоторых из моих запросов, мне любопытно, есть ли ниже упрощенная версия логики CASE:

SELECT
  CASE WHEN AverageRate < 0.1 THEN 0 ELSE AverageRate END AS [AverageRate]
FROM AdventureWorks.Sales.CurrencyRate

В идеале, она будет вести себя очень похоже на ISNULL,но допускает дополнительный ввод для условного оператора.

Я знаю, что было бы относительно легко свернуть мою собственную функцию, но мне было интересно, есть ли что-то встроенное, что я мог бы нажать.

Спасибо.

Марк

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

SQL Server 2012, вероятно, представит функцию IIF .Я говорю «вероятно», потому что мы не можем быть уверены, пока не будет выпущена релизная версия.Де-факто это поддерживается в текущих RC.
Что касается более ранних версий SQL Server, таких встроенных сокращенных подходов не существует.

0 голосов
/ 29 февраля 2012

Я был на сервере sql несколько лет и не нашел ни одного более короткого предложения для выполнения условной проверки.

...