Когда значения ниже нуля, вернуть как ноль - PullRequest
0 голосов
/ 14 мая 2019

У меня есть вычисляемый столбец с отрицательными значениями. Как сделать так, чтобы значения ниже нуля возвращались только как 0?

Вот что я попробовал:

case
when [Date] - DateTimeNow() > "0" then "0"

else  [Date] - DateTimeNow()

end

1 Ответ

1 голос
/ 14 мая 2019

Если вы просто вычислите [Date] -DateTimeNow (), вы увидите, что он возвращается как тип TimeSpan, который не является ни числом, ни строкой.Таким образом, в вашем случае вы фактически определяете результат двух разных типов (строка, когда «0» и TimeSpan в противном случае) в зависимости от условия (которое сравнивает TimeSpan со строкой), который не будет работать.

Это выведет TimeSpan:

 case  
   when LongInteger([Date] - DateTimeNow())>0 then TimeSpan(“0.0:0:0.0")
   else [Date] - DateTimeNow()
 end

Gaia

...