2016-06-01 4 views
2

У меня очень большое представление, которое использует множество таблиц и других представлений. Когда я выбираю * от этого большого зрения, я получаю сообщение об ошибкеSQL Server 2012 Ошибка преобразования типа данных varchar в числовой

ошибки преобразования типов данных VARCHAR в числовое

Проблемы в том, я не знаю, где именно это происходит. Должен ли я сверлить все задействованные объекты, или есть способ узнать, где именно проблема?

+1

Должно быть выражение 'UNION',' JOIN' или 'CASE', которое приводит к этой ошибке. К сожалению, у вас нет простого способа указать на это. Я предлагаю вам опубликовать определение 'VIEW'. –

+0

Можете ли вы написать сценарий и запустить его? Он может указывать на строку кода, вызывающую проблему. В противном случае вы можете просмотреть оценочный план выполнения? Проблема звучит так, как будто она будет входить где-то в сообщество, поскольку она пытается сравнить varchar с числовым полем и пытается преобразовать varchar и провалиться. –

+0

@RichBenner Я сделал это, и он не указывает линию, что заставляет меня думать, что это в одном из объединенных объектов. –

ответ

0

это также может быть функцией как:

declare @pippo numeric 
set @pippo=null 
select ISNULL(@pippo, 'x') 

это поднимет ту же ошибку преобразования

надежда, что это поможет

0

Возьмите определение представления, и превратить его в ЗЕЬЕСТ , Затем удалите половину столбцов и запустите его, продолжайте удалять столбцы, пока проблема не исчезнет. Если он исчезнет, ​​добавьте их обратно, пока не найдете проблему. Если это не уходит, проблема в соединении.

Смежные вопросы