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

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

DDD
Lepaskan: 2025-01-11 10:09:42
asal
876 orang telah melayarinya

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

Kaedah pembundaran nilai masa tarikh T-SQL tepat kepada minit atau jam

SQL Server menyediakan fungsi terbina dalam untuk membundarkan nilai masa tarikh dengan mudah kepada minit atau jam terdekat. Sebagai contoh, untuk nilai datetime yang diberikan '2007-09-22 15:07:38.850', anda boleh menggunakan fungsi berikut:

<code class="language-sql">-- 舍入到最近的分钟
SELECT DATEADD(mi, DATEDIFF(mi, 0, @dt), 0)

-- 舍入到最近的小时
SELECT DATEADD(hour, DATEDIFF(hour, 0, @dt), 0)</code>
Salin selepas log masuk

Kaedah ini masing-masing memotong saat dan minit untuk mencapai kesan pembundaran yang diingini. Jika anda perlu membulatkan ke atas atau ke bawah, anda boleh menambah atau menolak setengah minit atau setengah jam masing-masing sebelum memotong:

<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

Sebelum pengenalan date jenis data dalam SQL Server 2008, kaedah di atas boleh digunakan untuk memotong bahagian masa daripada jenis datetime, hanya meninggalkan bahagian tarikh. Ini berfungsi dengan mengira bilangan hari antara tarikh dan titik masa tetap (0, mewakili 1900-01-01 00:00:00.000), dan kemudian menambah nombor itu pada titik masa tetap:

<code class="language-sql">-- 截断时间部分以仅获取日期
SELECT DATEADD(day, DATEDIFF(day, 0, @dt), 0)</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nilai DateTime T-SQL kepada Minit atau Jam Terdekat?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan