Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да направите колона за изглед NOT NULL

Можете да постигнете това, което искате, като пренаредите малко заявката си. Номерът е, че ISNULL трябва да е отвън, преди SQL Server да разбере, че получената стойност никога не може да бъде NULL .

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

Една от причините да намирам това за полезно е, когато използвам ORM и не искате резултантната стойност да бъде съпоставена към nullable тип. Това може да направи нещата по-лесни навсякъде, ако вашето приложение вижда стойността като никога не е възможно да е нула. Тогава не е нужно да пишете код за обработка на нулеви изключения и т.н.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Цикъл върху набор от записи в SQL Server

  2. SQL Server и пропуски в колона за идентичност

  3. Как да създам уникално ограничение, което също позволява нулеви стойности?

  4. Как да използвате параметър с LIKE в Sql Server Compact Edition

  5. Кои са по-ефективни, CTE или временни таблици?