que fue depurando un procedimiento almacenado, el otro día y se encontró algo de lógica algo como esto:"<>" vs "no en"
SELECT something
FROM someTable
WHERE idcode <> (SELECT ids FROM tmpIdTable)
Este regresó nada. Pensé que se veía un poco extraño con el "<>", así que lo cambié a "NO ENCENDIDO" y luego todo funcionó bien. Me preguntaba por qué es esto? Este es un proceso bastante antiguo y no estoy seguro de cuánto tiempo ha pasado el problema, pero recientemente cambiamos de SQL Server 2005 a SQL Server 2008 cuando se descubrió esto. ¿Cuál es la diferencia real entre "<>" y "NOT IN" y ha cambiado el comportamiento entre Server2005 y 2008?
'WHERE IDcode NOT IN (...)' es equivalente a 'WHERE idcode <> ALL (...) ' –