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

Как мога да включа нулеви стойности в MIN или MAX?

Това е малко грозно, но защото NULL имат специално значение за вас, това е най-чистият начин, който се сещам да го направя:

SELECT recordid, MIN(startdate),
   CASE WHEN MAX(CASE WHEN enddate IS NULL THEN 1 ELSE 0 END) = 0
        THEN MAX(enddate)
   END
FROM tmp GROUP BY recordid

Тоест, ако някой ред има NULL , искаме да принудим това да бъде отговорът. Само ако нито един ред не съдържа NULL трябва ли да върнем MIN (или MAX ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализиране на данни на Salesforce с курсор на SQL Server

  2. Съхраняване на съобщението за рейзрор на SqlServer в C#

  3. Удостоверяване на SQL Server срещу удостоверяване на Windows:Кое да се използва и кога

  4. Какво е съхранена процедура?

  5. Как да форматирате числа със запетаи в SQL Server