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

Menemukan Median antara DUA tanggal SQL Server 2008

Jika yang Anda maksud adalah set tanggal mulai dan tanggal akhir, lalu masukkan ke dalam satu kolom:

WITH t AS (
       SELECT invoice_no, invoice_start_date, invoice_end_date, check_date, status_code,
       FROM INVOICE_HEADER INNER JOIN
            INVOICE_HEADER_CUSTOM
            ON INVOICE_HEADER.invoice_id = INVOICE_HEADER_CUSTOM.invoice_id
       WHERE status_code <> 'REJECTED' AND 
             Check_Date BETWEEN CONVERT(DATETIME, '2014-12-01 00:00:00', 102) AND
             CONVERT(DATETIME, '2014-12-31 00:00:00', 102)
     ), 
     t2 as (
      select d, row_number() over (order by d) as seqnum,
             count(*) over () as cnt
      from (select invoice_start_date as d from t
            union all
            select invoice_end_date as d from t
           ) t
     )
select dateadd(day, datediff(hour, min(d), max(d)) / 2.0, min(d))
from t2
where 2 * seqnum in (cnt, cnt + 1, cnt + 2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk menyebarkan paket SSIS 2012 di SQL Server 2008

  2. Win32Exception (0x80004005):Waktu tunggu operasi habis

  3. Cara Mengembalikan Hasil Kueri sebagai Daftar Dipisahkan Koma di SQL Server – STRING_AGG()

  4. MS Excel - gabungkan data eksternal (SQL) dengan tabel lokal (lembar)

  5. String koneksi SQL Server dalam kode vs file konfigurasi di situs ASP.NET