Я импортировал документ Excel, который получил в мою базу данных mssql. Все прошло отлично, и у меня есть таблица с 7000 записями, состоящими из 2 столбцов. Теперь я хочу присоединиться к этой таблице первенствовать с уже существующей таблицы в моей базе данных, чтобы сравнить некоторые данные, я там хранятся:Преобразование varchar в float или наоборот
SELECT b.ID, a.ID , b.NAME
FROM ExcelTable b
inner join DB_Table a
on a.ID = cast(b.ID as varchar)
Идентификационные в моей базе данных хранятся как VARCHAR (20) и ExcelTable ID получать импортированные как плавающие без возможности изменения типа. Выше sql не дает мне никаких результатов вообще, хотя я знаю, что записи существуют. Я считаю, что мои идентификаторы с плавающей точкой хранятся с «.00000» после оригинального идентификатора, поэтому он не работает.
Может кто-нибудь помочь мне решить эту проблему, пожалуйста,
закиньте VARCHAR как поплавок вместо литья поплавок как VARCHAR в вашем сравнении? Другими словами, измените предложение «on» на «on cast (a.Id AS float) = b.ID». –
Привет, я пробовал, и я получаю эту ошибку. Ошибка преобразования типа данных varchar в float. – MishMish