powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
9 сообщений из 9, страница 1 из 1
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882590
Здравствуйте!

При исполнении SQL запроса, если добавить в его секцию WHERE строку
Код: sql
1.
CONVERT(Decimal, u.Мощность) <> c.N_Cap2


возвращается ошибка авторОшибка при преобразовании типа данных varchar к numeric
Как узнать, на какой строке спотыкается преобразование либо отсеять эти строки?
В секции WHERE есть еще такие фильтры:
Код: sql
1.
2.
u.Мощность IS NOT NULL AND u.Мощность <> '' AND u.Мощность <> '-' 
AND u.Мощность LIKE '[0123456789]%'


, но они не отлавливают некорректное значение
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882594
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

TRY_CAST/TRY_CONVERT
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882612
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис ГаркунВ секции WHERE есть еще такие фильтры:
Код: sql
1.
2.
u.Мощность IS NOT NULL AND u.Мощность <> '' AND u.Мощность <> '-' 
AND u.Мощность LIKE '[0123456789]%'

Достаточно оставить только LIKE.
Остальное в этом случае будет лишним.
Потому что если первый символ обязательно цифра,
то автоматически эта строка не пуста, первый символ не минус и она не NULL.
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882663
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

NOT LIKE '%[^0-9]%'

но это никак не поможет, если фильтр convert будет применён раньше фильтра like. Лучше использовать try_cast/try_convert.
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882676
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сиквел 2016 или новее, то: TRY_CONVERT() .
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882679
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatЕсли сиквел 2016 или новее, то: TRY_CONVERT() .
2012 вроде
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882698
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKfkthatЕсли сиквел 2016 или новее, то: TRY_CONVERT() .
2012 вроде ошибка при конвертации
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882721
TaPaK, спасибо!
...
Рейтинг: 0 / 0
Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
    #39882723
и всем спасибо :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как найти значение, на котором возникает ошибка преобразования типа, или его пропустить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]