ホームページ >データベース >mysql チュートリアル >SQL Server で DATETIME 値の時刻部分のみを効率的に比較するにはどうすればよいですか?
SQL Server での時刻値の比較
日時フィールドに格納された時刻値を比較する場合、日付コンポーネントを次のようにする必要があるかどうかを考慮することが重要です。比較対象に含まれます。提供されたシナリオでは、ユーザーは日付を除く時間部分のみを比較することを目的としています。
CONVERT 関数を使用して時間値を文字列に変換する提案されたクエリは機能する可能性がありますが、非効率的になる可能性があります。より最適な解決策は、SQL Server の日時値の内部浮動小数点表現を活用することです。
時間のみの比較を効率的に実行するには、次のことができます。
たとえば、2 つの日時値 @first と @second が指定された場合:
DECLARE @first DATETIME = '2009-04-30 19:47:16.123'; DECLARE @second DATETIME = '2009-04-10 19:47:16.123'; SELECT ( CAST(@first AS FLOAT) - FLOOR(CAST(@first AS FLOAT)) ) - ( CAST(@second AS FLOAT) - FLOOR(CAST(@second AS FLOAT)) ) AS Difference;
このアプローチでは、日付コンポーネントを関与させずに時刻値を直接比較し、正確かつ効率的な結果を提供します。結果。
以上がSQL Server で DATETIME 値の時刻部分のみを効率的に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。