Недавно я начал получать следующую ошибку, когда я пытаюсь выполнить представление в SQL-сервере:

Msg 245, Level 16, State 1, Line 2
Conversion failed when converting the nvarchar value '<14633>' to data type int.

Я даже получаю это, когда иду в SQL Management Studio и делаю:

USE [directory-plus]
GO
SELECT * FROM all_staff_data_contact_points 

Я не уверен, что я сделал или как это исправить

1 ответ1

0

Ваше представление пытается преобразовать строковое (в частности, nvarchar) значение '<14633>' в int, что не может быть сделано из-за начальных и конечных символов < и > .

Вам нужно взглянуть на исходный код для представления, а также на данные, которые он выбирает, и выяснить, где предпринимается попытка этого преобразования, и исправить его, обработав значение, чтобы оно "выглядело" как int (то есть '14633' - если ваше поле вызванный NumberString , вы можете выполнить REPLACE(REPLACE(NumberString,'<',''),'>','')) или прекратить попытки выполнить преобразование.

Если вам нужна более полная диагностика, пожалуйста, опубликуйте определение своего представления (и в идеале несколько примеров записей из таблиц, из которых он извлекает данные).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .