Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ошибка в case условии - Bad character in format or data  [new]
Romanov-krd
Member

Откуда:
Сообщений: 116
case
when STATUS.NDS<>'Без НДС' then  (cast (STATUS.SUMMA as decimal(38,0))*0.01)
else 2
end


Пишет ошибку при выполнении запроса. Bad character in format or data
STATUS.SUMMA значения например 67854,19
берутся з таблицы STATUS тип string
кто может подсказать как исправить условие чтобы норм значения получить?
19 июн 18, 16:54    [21503929]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в case условии - Bad character in format or data  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Romanov-krd,

это точно ms sql?
19 июн 18, 16:58    [21503951]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в case условии - Bad character in format or data  [new]
Eleanor
Member

Откуда:
Сообщений: 2632
Romanov-krd
STATUS.SUMMA значения например 67854,19
берутся из таблицы STATUS тип string

Запятую в строке у вас сервер нормально обрабатывает?
select cast ('67854,19' as decimal(38,0)) - ?
Если нет, придется заменить на точку через replace.
19 июн 18, 17:19    [21504025]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в case условии - Bad character in format or data  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36693
В MSSQL нет типа string. MSSQL не может выдавать ошибку "Bad character in format or data".
Покажите select @@version
19 июн 18, 17:28    [21504053]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в case условии - Bad character in format or data  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1466
TaPaK, Гавриленко Сергей Алексеевич,

ну нет у нас отдельного форума по Teradata... вот и пишут куда попало.
19 июн 18, 17:34    [21504078]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в case условии - Bad character in format or data  [new]
Aevans
Member

Откуда:
Сообщений: 1
Romanov-krd
case
when STATUS.NDS<>'Без НДС' then  (cast (STATUS.SUMMA as decimal(38,0))*0.01)
else 2
end


Пишет ошибку при выполнении запроса. Bad character in format or data
STATUS.SUMMA значения например 67854,19
берутся з таблицы STATUS тип string
кто может подсказать как исправить условие чтобы норм значения получить?



Очень похоже, что в значении колонки STATUS.SUMMA присутствуют строки ,которые не могут быть сконвертированы в числовой формат.
Проверить можно просто запустив обычный селект с кастом:
Select
cast (STATUS.SUMMA as decimal(38,0)) ..
21 июн 18, 10:59    [21508838]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить