sql >> Base de Datos >  >> RDS >> Sqlserver

Error al convertir el tipo de datos varchar

ESTÁ BIEN. Finalmente creé una vista que funciona:

SELECT TOP (100) PERCENT id, CAST(CASE WHEN IsNumeric(MyCol) = 1 THEN MyCol ELSE NULL END AS bigint) AS MyCol
FROM         dbo.MyTable
WHERE     (MyCol NOT LIKE '%[^0-9]%')

Gracias a AdaTheDev y CodeByMoonlight . Usé tus dos respuestas para llegar a esto. (Gracias a los otros que respondieron también, por supuesto)

Ahora, cuando me uno a otras cols bigint o hago algo como 'SELECT * FROM MyView where mycol=1', devuelve el resultado correcto sin errores. Supongo que el CAST en la consulta en sí hace que el optimizador de consultas no mire la tabla original, ya que Christian Hayter dijo que puede estar pasando con las otras vistas