Niedawno zacząłem otrzymywać następujący błąd podczas próby wyświetlenia widoku na serwerze SQL:
Msg 245, Level 16, State 1, Line 2
Conversion failed when converting the nvarchar value '<14633>' to data type int.
Dostaję to nawet, gdy idę do SQL Management Studio i robię:
USE [directory-plus]
GO
SELECT * FROM all_staff_data_contact_points
Nie jestem pewien, co zrobiłem lub jak to naprawić
Odpowiedzi:
Twój widok próbuje przekonwertować wartość ciągu (konkretnie nvarchar) na wartość
'<14633>'
do int, którego nie może zrobić ze względu na wiodące i końcowe<
i>
postacie.Musisz spojrzeć na kod źródłowy widoku, razem z danymi, które pobiera, i dowiedzieć się, gdzie próbowana jest ta konwersja, i skorygować ją, przetwarzając wartość tak, aby wyglądała jak int (tj.
'14633'
- jeśli twoje pole jest nazywaneNumberString
, mógłbyśREPLACE(REPLACE(NumberString,'<',''),'>','')
) lub przestań próbować dokonać konwersji.Jeśli chcesz pełniejszej diagnozy, proszę zamieścić definicję swojego widoku (a najlepiej kilka przykładowych rekordów z tabel, z których pobiera dane).
źródło