Untuk mengenal pasti julat tarikh berturut-turut dalam lajur yang mengandungi jujukan tarikh, SQL boleh digunakan untuk mengekstrak tarikh mula dan tamat dengan cekap bagi setiap julat yang berbeza.
Pertimbangkan yang berikut set data:
InfoDate 2013-12-04 2013-12-05 2013-12-06 2013-12-09 2013-12-10 2014-01-01 2014-01-02 2014-01-03 2014-01-06 2014-01-07 2014-01-29 2014-01-30 2014-01-31 2014-02-03 2014-02-04
Matlamatnya adalah untuk mengekstrak tarikh mula dan tamat setiap julat tarikh berturut-turut, menghasilkan:
StartDate EndDate 2013-12-04 2013-12-06 2013-12-09 2013-12-10 2014-01-01 2014-01-03 2014-01-06 2014-01-07 2014-01-29 2014-01-31 2014-02-03 2014-02-04
Penyelesaian SQL yang mudah dan cekap boleh dirangka menggunakan langkah berikut:
SQL pertanyaan untuk mencapai ini ialah:
WITH t AS ( SELECT InfoDate d,ROW_NUMBER() OVER(ORDER BY InfoDate) i FROM @d GROUP BY InfoDate ) SELECT MIN(d),MAX(d) FROM t GROUP BY DATEDIFF(day,i,d)
Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Julat Tarikh Berturut-turut dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!