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

Cómo hacer que una columna de vista NO sea NULL

Puede lograr lo que desea reorganizando un poco su consulta. El truco es que el ISNULL tiene que estar en el exterior antes de que SQL Server entienda que el valor resultante nunca puede ser NULL .

SELECT ISNULL(CAST(
    CASE Status
        WHEN 3 THEN 1  
        ELSE 0  
    END AS bit), 0) AS HasStatus  
FROM dbo.Product  

Una razón por la que realmente encuentro esto útil es cuando uso un ORM y no desea que el valor resultante se asigne a un tipo anulable. Puede hacer las cosas más fáciles si su aplicación considera que el valor nunca será nulo. Entonces no tiene que escribir código para manejar excepciones nulas, etc.