Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membundarkan Nilai Masa T-SQL dengan Cekap kepada Selang 15 Minit Terdekat?
Pengiraan tepat: Bundarkan nilai masa T-SQL ke selang 15 minit terdekat
Apabila berurusan dengan data berasaskan masa dalam T-SQL, selalunya perlu untuk membundarkan nilai kepada selang masa tertentu. Keperluan biasa adalah untuk membundarkan nilai HH:MM kepada selang 15 minit yang terdekat.
Kaedah pembundaran yang cekap
Cara yang cekap untuk membundarkan nilai masa ke selang 15 minit terdekat tanpa bergantung pada pernyataan UDF atau CASE yang kompleks, sebaliknya menggunakan fungsi DATEADD dan DATEDIFF. Kaedah ini termasuk:
Contoh
Gunakan kaedah ini untuk keperluan khusus anda untuk pengiraan menggunakan fungsi CONVERT, DATEADD dan DATEDIFF dan anda akan mendapat pertanyaan berikut:
<code class="language-sql">SELECT DATEADD(MINUTE, ROUND(DATEDIFF(MINUTE, 0, CONVERT(CHAR(8), DATEADD(n, SUM(DATEDIFF(n, starttime, stoptime)), 0), 108)) / 15.0, 0) * 15, 0)</code>
Pengiraan ini membundarkan nilai masa HH:MM tepat kepada selang 15 minit yang terdekat, memastikan nilai seperti 00:08:00 menjadi 00:15:00 dan 00:07:00 menjadi 00: 00:00.
Kaedah lain
Walaupun kaedah DATEADD dan DATEDIFF adalah cekap dan tepat, terdapat beberapa kaedah lain yang boleh anda pertimbangkan untuk membundarkan nilai masa dalam T-SQL:
Gunakan fungsi ROUND dan tentukan selang:
<code class="language-sql"> ROUND(time_value, 15)</code>
Menggunakan fungsi FLOOR SQL Server 2012:
<code class="language-sql"> FLOOR(DATEADD(MINUTE, time_value, 0))</code>
Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nilai Masa T-SQL dengan Cekap kepada Selang 15 Minit Terdekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!