Есть ли способ использовать результат условий математически в TSQL? - PullRequest
0 голосов
/ 15 апреля 2019

Я хотел бы использовать результаты теста математически, чтобы решить, следует ли установить значение на другое число, если оно окажется равным нулю или что-то еще.

Например, если я выдаю что-то вроде этого: SELECT (1 = 1) * 100 AS значение, я хотел бы, чтобы значение получилось как-то вроде 100 или -100 (последнее, как я помню, работает Commodore Basic),Но вместо этого я получаю синтаксическую ошибку на знаке равенства.Есть ли способ сделать это в MSSQL, чтобы упростить мои запросы?

1 Ответ

1 голос
/ 15 апреля 2019

Вы можете использовать случай, когда

SELECT (case when 1=1 then 1 else -1 end)* 100

Также вы можете использовать iif (только для SQL Server 2012 или более поздней версии)

SELECT iif(1=1,1 ,-1)* 100
...