Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Urutan Tarikh dalam T-SQL dengan Cekap?
Janakan keputusan tarikh tambahan yang ditetapkan dalam T-SQL
Dalam SQL Server, menjana set tarikh antara tarikh mula dan tarikh tamat yang ditentukan memerlukan penyelesaian yang cekap dan dioptimumkan. Pendekatan biasa ialah menggunakan gelung WHILE untuk menambah hari secara berperingkat pada tarikh mula sehingga tarikh tamat dicapai.
Namun, untuk kes di mana julat tarikh adalah dalam tempoh 2047 hari, kaedah lain boleh digunakan. Pertanyaan T-SQL berikut menggunakan jadual sistem spt_values:
<code class="language-sql">declare @dt datetime, @dtEnd datetime set @dt = getdate() set @dtEnd = dateadd(day, 100, @dt) select dateadd(day, number, @dt) from (select number from master.dbo.spt_values where [type] = 'P' ) n where dateadd(day, number, @dt) < @dtEnd</code>
Pertanyaan ini menggunakan jadual spt_values, yang mengandungi julat nombor dari 0 hingga 2047. Dengan menapis jenis 'P' kita mendapat satu set nombor berturut-turut. Setiap nombor ditambah pada tarikh mula menggunakan fungsi dateadd, dengan berkesan menghasilkan set keputusan tarikh kenaikan.
Kaedah ini mempunyai kelebihan berikut:
Untuk SQL Server 2008 dan ke atas, kaedah ini menyediakan penyelesaian yang cekap dan mudah untuk menjana set tarikh yang semakin meningkat dalam T-SQL.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Urutan Tarikh dalam T-SQL dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!