sql >> Database >  >> RDS >> Sqlserver

Hoe maak je een weergavekolom NIET NULL

U kunt bereiken wat u wilt door uw vraag een beetje te herschikken. De truc is dat de ISNULL moet aan de buitenkant zijn voordat SQL Server begrijpt dat de resulterende waarde nooit NULL kan zijn .

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

Een reden waarom ik dit eigenlijk handig vind, is bij het gebruik van een ORM en u wilt niet dat de resulterende waarde wordt toegewezen aan een nullable-type. Het kan dingen overal gemakkelijker maken als uw toepassing de waarde als nooit mogelijk null beschouwt. Dan hoef je geen code te schrijven om null-uitzonderingen, enz. af te handelen.



  1. mysql join-tabel op zichzelf

  2. opvragen voor de positie van de gebruiker in een-op-veel tabellen

  3. Hiërarchische relaties groeperen in SQL Server

  4. De functie date_sub() implementeren met intervallen met jOOQ