sql >> Databáze >  >> RDS >> Sqlserver

Jak zajistit, aby sloupec zobrazení NENÍ NULL

Můžete dosáhnout toho, co chcete, tím, že svůj dotaz trochu přeuspořádáte. Trik je v tom, že ISNULL musí být na vnější straně, než SQL Server pochopí, že výsledná hodnota nikdy nemůže být NULL .

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

Jedním z důvodů, proč to skutečně považuji za užitečné, je použití ORM a nechcete, aby výsledná hodnota byla mapována na typ s možnou hodnotou Null. Může to všechno usnadnit, pokud vaše aplikace vidí hodnotu jako nikdy nulovou. Pak nemusíte psát kód pro zpracování výjimek null atd.



  1. Ekvivalent explode() pro práci s řetězci v MySQL

  2. Sloučit dva sloupce ze dvou tabulek do jedné

  3. Jak zapíšete podmínku do příkazu MySQL select?

  4. sql server zobrazující chybějící data