SQL Server の日付と時刻から日付を効率的に抽出します
SQL Server で結合された日付と時刻の値から日付を効率的に抽出することは、データ操作タスクにとって重要です。この場合、問題は「2008-09-25 12:34:56」のような日時値から日付を取得する方法です。
次のようなさまざまなアプローチが提案されています。
このメソッドは、datetime 値を float に変換し、floor 演算を実行して小数部分を切り捨て、結果を datetime に戻します。この方法は非常に効率的ですが、すべての状況で最速ではないことが観察されています。
このメソッドは、日時値を長さ 10 の文字列に変換し、スタイル 120 が指定されている場合はその文字列を日時値に変換して戻します (日付のみの変換を強制します)。
このメソッドは、datetime 値と午前 0 時の間の日数を計算し、その差を午前 0 時に加算して日付を取得します。
パフォーマンス分析
最も効率的なアプローチを決定するために、ミリ秒単位の正確なタイムスタンプを含む大きなテーブルでパフォーマンス テストを実行しました。次の実行時間が観察されました:
これらの結果に基づくと、特定のテスト ケースでは DateAdd の方がわずかに高速です。パフォーマンスは、データ分散、サーバー構成、ワークロードの特性によって異なる場合があることに注意してください。
したがって、SQL Server から日付と時刻を抽出する最も効率的な方法を選択する場合は、特定のデータ セットとワークロード要件に基づいたパフォーマンス テストを通じてさまざまな方法を評価することをお勧めします。
以上がSQL Server で DATETIME 値から日付を抽出する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。