Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membundarkan Nilai DateTime kepada Minit atau Jam Terdekat dalam T-SQL?

Bagaimana untuk Membundarkan Nilai DateTime kepada Minit atau Jam Terdekat dalam T-SQL?

Patricia Arquette
Lepaskan: 2025-01-11 11:28:40
asal
106 orang telah melayarinya

How to Round DateTime Values to the Nearest Minute or Hour in T-SQL?

Bundarkan nilai masa tarikh kepada minit atau jam terdekat dalam T-SQL

T-SQL menyediakan fungsi terbina dalam untuk membundarkan nilai masa tarikh kepada minit atau jam terdekat. Nilai bulat adalah bernilai untuk analisis data dan penjanaan laporan.

Untuk membundarkan nilai masa tarikh kepada minit terdekat, gunakan formula berikut:

<code class="language-sql">dateadd(mi, datediff(mi, 0, @dt), 0)</code>
Salin selepas log masuk

Di mana, @dt mewakili nilai tarikh masa yang hendak dibundarkan.

Contohnya, membundarkan nilai '09-22-2007 15:07:38.850' kepada minit terdekat menghasilkan '2007-09-22 15:07:00.000'.

Untuk membundarkan nilai masa tarikh kepada jam terdekat, gunakan:

<code class="language-sql">dateadd(hour, datediff(hour, 0, @dt), 0)</code>
Salin selepas log masuk

Formula ini dengan berkesan memotong saat dan minit daripada nilai tarikh masa. Menggunakan contoh yang sama, bundarkan '09-22-2007 15:07:38.850' kepada jam terdekat menghasilkan '2007-09-22 15:00:00.000'.

Selain itu, pembundaran ke atas atau ke bawah boleh dicapai dengan menambah setengah minit atau setengah jam pada nilai masa tarikh sebelum pemotongan.

Contoh:

<code class="language-sql">select dateadd(mi, datediff(mi, 0, dateadd(s, 30, @dt)), 0)
select dateadd(hour, datediff(hour, 0, dateadd(mi, 30, @dt)), 0)</code>
Salin selepas log masuk

Hasilnya ialah:

<code>2007-09-22 15:08:00.000
2007-09-22 15:00:00.000</code>
Salin selepas log masuk

Sebelum pengenalan jenis data tarikh dalam SQL Server 2008, teknik yang sama telah digunakan untuk memotong bahagian jam, minit dan saat bagi nilai datetime untuk mendapatkan tarikh sahaja. Idea ini adalah untuk menentukan bilangan hari antara tarikh tarikh dan titik masa tetap (0, bermakna 1900-01-01 00:00:00.000). Dengan menambahkan bilangan hari ini kepada titik masa yang tetap, anda mendapat tarikh asal dengan masa yang ditetapkan kepada 00:00:00.000.

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nilai DateTime kepada Minit atau Jam Terdekat dalam T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan