Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa memasukkan nilai nol dalam MIN atau MAX?

Agak jelek tapi karena NULL s memiliki arti khusus bagi Anda, ini adalah cara terbersih yang dapat saya pikirkan untuk melakukannya:

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

Artinya, jika ada baris yang memiliki NULL , kami ingin memaksa itu menjadi jawabannya. Hanya jika tidak ada baris yang berisi NULL haruskah kita mengembalikan MIN (atau 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. Bagaimana SET ROWCOUNT Bekerja di SQL Server

  2. Tambahkan Kolom yang Dihitung ke Tabel yang Ada di SQL Server

  3. Periksa Email Gagal di SQL Server (T-SQL)

  4. Bagaimana cara mendapatkan perbedaan antara dua baris untuk bidang kolom?

  5. Bagaimana Anda memodelkan pewarisan secara efektif dalam database?