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

Kueri sql tunggal yang dapat menangani rentang tanggal nol atau bernilai di server sql

WITH    limits AS
        (
        SELECT  COALESCE(@startDate, MIN(mydate)) AS startDate, COALESCE(@endDate, MAX(mydate)) AS endDate
        FROM    mytable
        )
SELECT  m.*
FROM    limits
JOIN    mytable m
ON      mydate BETWEEN startDate AND endDate

Ini akan paling efisien jika ada indeks pada mydate , karena kondisi ini sargable dan akan menggunakan Index Seek .

Jika tidak ada indeks, gunakan IFNULL konstruksi yang diusulkan oleh orang lain.



  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 DELETE dengan INNER JOIN

  2. DateTimeOffset.Sekarang di T-SQL

  3. Menggunakan RegEx di SQL Server

  4. Metrik Kinerja SQL Server untuk Tetap Terdepan dalam Game

  5. SQL Server char dan kolom nchar mencari secara berbeda