Я предполагаю, что s.AVG
- это число с плавающей запятой, а q.Source
- нет. Это заставит SQL Server выполнить неявное преобразование в JOIN ON s.[AVG] = q.[Source]
, и одно из ваших значений не является символом. Вы должны еще раз взглянуть на мой ответ или
Мартина в последний раз, когда у вас была эта проблема.
1010 *, например *
SELECT q.[Score]
FROM [MS].[BE].[Survey] s
WHERE like Score '%[^0-9.]%'
ОБНОВЛЕНИЕ Если вам нужно удалить четырехзначное значение 'NULL', вы, вероятно, можете сделать следующее (еще не проверял)
SELECT q.[Score] as Q --- Getting error in this place.Data Type is varchar (100).
FROM [MS].[BE].[Survey] s
LEFT OUTER JOIN #Temp_Table q on
s.[AVG] = q.[Source]
and q.[Source] <> 'NULL'
Или вы не могли бы вставить их в таблицу #Temp_Table для начала.
Или вы можете удалить эти значения, прежде чем пытаться присоединиться.
Конечно, это заставляет меня задуматься, почему вы не используете числовой тип для #temp_table для начала?