2017-02-09 5 views
3

Я получил эту ошибку при попытке запустить мой SQL запрос ...Конверсия удалось при преобразовании значения VARCHAR «Id» к типу данных междунар

Конверсия удалось при преобразовании значения VARCHAR «Id» для типа данных Int

SELECT * 
FROM History 
INNER JOIN Header 
ON History.Id = Header.docId 

Пожалуйста, помогите мне :(

ответ

5

В вашем Join состоянии уверен, что один столбец имеет номер Integer, а другой - Varchar.

ON History.Id = Header.docId 

поскольку Int имеет более высокий приоритет, чем varchar, Varchar столбец будет неявно преобразован в Int

Так явно преобразовать Int столбец VARCHAR.

ON History.Id = cast(Header.docId as varchar(50)) 

Я рассмотрел Header.docId, как Int типа, если нет, то конвертировать History.Id в varchar

1

Попробуйте литья столбец Id для INT

SELECT * 
FROM History 
INNER JOIN Header 
ON cast(History.Id AS int) = Header.docId 
+0

Нет, это неправильно, проверьте мой ответ –

+0

Полезная информация братан. Upvoted. @Prdp –

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

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