ホームページ >データベース >mysql チュートリアル >T-SQL 時間値を最も近い 15 分間隔に効率的に丸めるにはどうすればよいですか?
正確な計算: T-SQL 時間値を最も近い 15 分間隔に丸めます
T-SQL で時間ベースのデータを扱う場合、多くの場合、値を特定の時間間隔に丸める必要があります。一般的な要件は、HH:MM 値を最も近い 15 分間隔に丸めることです。
効率的な丸め方法
複雑な UDF ステートメントや CASE ステートメントに依存せず、代わりに DATEADD 関数と DATEDIFF 関数を利用して、時刻値を最も近い 15 分間隔に丸める効率的な方法。このメソッドには以下が含まれます:
例
CONVERT、DATEADD、DATEDIFF 関数を使用した計算の特定のニーズにこのメソッドを適用すると、次のクエリが得られます。
<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>
この計算では、HH:MM 時刻値が最も近い 15 分間隔に正確に四捨五入され、00:08:00 のような値は 00:15:00 になり、00:07:00 は 00: 00:00 になります。
その他の方法
DATEADD メソッドと DATEDIFF メソッドは効率的で正確ですが、T-SQL で時間値を丸めるために考慮できるメソッドが他にもいくつかあります。
ROUND 関数を使用して間隔を指定します:
<code class="language-sql"> ROUND(time_value, 15)</code>
SQL Server 2012 の FLOOR 関数の使用:
<code class="language-sql"> FLOOR(DATEADD(MINUTE, time_value, 0))</code>
以上がT-SQL 時間値を最も近い 15 分間隔に効率的に丸めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。