ホームページ >データベース >mysql チュートリアル >SQL Server で時間値のみを効率的に比較するにはどうすればよいですか?
SQL Server での時間の比較
SQL Server で時間値を比較する場合は、日付を無視して時間コンポーネントのみを考慮することが重要です。これを実現するには、日時フィールド間の標準的な比較とは若干異なるアプローチが必要です。
時間値を効率的に比較するには、SQL Server が日付を浮動小数点数として格納するという事実を利用できます。小数点の前の数字は日付を表し、その後の数字は時間を表します。
例:
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
この例では、両方の @ の日付部分がfirst と @second は、floor() を使用して各浮動小数点表現の整数部分を減算することによって破棄されます。結果は時間差を表す小数値であり、比較に使用できます。
説明:
このメソッドは、不要なデータ変換を避けるため、日時値を比較用の文字列に変換します。
以上がSQL Server で時間値のみを効率的に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。