Получение ошибки при попытке преобразовать «0.0» в пустую строку с помощью nullif () - PullRequest
0 голосов
/ 10 марта 2012

Я пытаюсь преобразовать нулевые значения десятичного поля ("0.0") в пустую строку (""), используя метод nullif ().Но преобразование вызвало ошибку.Я попробовал тот же метод для другого поля int, и он работал нормально.

Как преобразовать десятичные нулевые значения в пустые строки в SQL-запросах?

Ответы [ 2 ]

2 голосов
/ 10 марта 2012
  1. SQL использует одинарные кавычки для 'values', двойные кавычки для "column labels"
  2. '0.0' - это строка (для столбцов varchar), 0.0 и 0 - это числа (длястолбцы int / dec)
  3. ни '0.0', ни 0.0 не являются null s
  4. nullif() возвращает null для правильного условия, а не пустую строку

, поэтому вы, вероятно, хотите что-то вроде этого:

case when mydecimal = 0 then '' else cast(mydecimal as varchar(10)) end

или:

nullif(mydecimal, 0)
0 голосов
/ 10 марта 2012

в TSQL: ISNULL (значение, '') вызвал оператор объединения, если я не ошибаюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...