Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membundarkan Nilai Masa HH:MM kepada Selang 15 Minit Terdekat dalam T-SQL?

Bagaimana untuk Membundarkan Nilai Masa HH:MM kepada Selang 15 Minit Terdekat dalam T-SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-10 14:12:42
asal
755 orang telah melayarinya

How to Round HH:MM Time Values to the Nearest 15-Minute Interval in T-SQL?

Bundarkan nilai masa HH:MM ​​ke selang 15 minit terdekat dalam T-SQL

Dalam analisis data, pembundaran nilai masa ke selang waktu yang terdekat ialah tugas biasa. Dalam contoh ini, matlamat kami adalah untuk membundarkan nilai HH:MM kepada selang 15 minit yang terdekat.

Kaedah yang tidak memerlukan fungsi yang ditentukan pengguna

Walaupun menggunakan fungsi takrif pengguna (UDF) atau pernyataan CASE adalah pendekatan yang berdaya maju, terdapat cara yang lebih elegan untuk mengelak daripada menggunakannya. Salah satu cara ialah menggunakan fungsi DATEADD dan DATEDIFF:

<code class="language-sql">select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)</code>
Salin selepas log masuk

Di sini, GETDATE() mewakili nilai tarikh dan masa semasa. Fungsi DATEDIFF mengira perbezaan dalam minit antara masa semasa dan tarikh rujukan tetap 0. Kami kemudian membahagikan perbezaan ini dengan 15 dan didarab dengan 15 untuk mendapatkan selang 15 minit yang terdekat. Akhir sekali, fungsi DATEADD menambah selang ini pada tarikh rujukan, menghasilkan nilai masa bulat.

Nota

Kaedah ini sesuai untuk kes di mana hanya minit yang relevan dan saat boleh diabaikan. Disebabkan oleh isu limpahan yang berpotensi, ia boleh mengendalikan tarikh sehingga tahun 5500. Walau bagaimanapun, menggunakan tarikh tertentu (contohnya, "2009-01-01") atau tarikh hari ini sebagai titik rujukan boleh mengatasi had ini.

Contoh

Sebagai contoh, menggunakan kaedah di atas untuk membundarkan cap masa seperti "00:08:00" kepada selang 15 minit yang terdekat akan menghasilkan "00:15:00". Begitu juga, "00:07:00" akan dibundarkan kepada "00:00:00".

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nilai Masa HH:MM kepada Selang 15 Minit 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