sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man gör en vykolumn NOT NULL

Du kan uppnå vad du vill genom att ordna om din fråga lite. Tricket är att ISNULL måste vara på utsidan innan SQL Server kommer att förstå att det resulterande värdet aldrig kan vara NULL .

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

En anledning till att jag faktiskt tycker att detta är användbart är när jag använder en ORM och du vill inte att det resulterande värdet mappas till en nollbar typ. Det kan göra saker och ting enklare runt om om din applikation ser att värdet aldrig är null. Då behöver du inte skriva kod för att hantera null-undantag etc.



  1. Hur undviker man dubbletter av värden för INSERT i SQL?

  2. sql-servern delar upp kommaseparerade värden i kolumner

  3. ora-30926 fel

  4. Hur man får slutet av månaden i MariaDB