ホームページ >データベース >mysql チュートリアル >SQL Server で DateTime 値から日付コンポーネントを効率的に抽出するにはどうすればよいですか?
SQL Server の Datetime 値の日付コンポーネントを取得します
Datetime 値から日付コンポーネントを抽出することは、SQL Server の一般的なタスクです。効率的な方法は、DATEADD 関数を使用することです。
DATEADD 関数を使用します:
<code class="language-sql">SELECT DATEADD(DAY, DATEDIFF(DAY, 0, CRETS), 0) FROM tblMeasureLogv2</code>
ここで、CRETS は日時列です。 DATEADD を使用して、datetime 値に追加する日付の数 (この場合は 0) を指定します。これにより、値の時、分、秒のコンポーネントが午前 0 時にリセットされ、日付部分が得られます。
他の方法との比較:
DATEADD メソッドは、Matt が提案したフロア - フロート変換メソッドよりもわずかに高速に実行されます。 STRINGCONVERT や純粋な SELECT ステートメントなど、他の一般的に使用されるメソッドは、比較すると大幅に時間がかかります。
パフォーマンス評価:
1 億 3,000 万行を超える非常に大きなテーブルでのテストでは、DATEADD メソッドは次のパフォーマンスを示しました。
<code>SQL Server 执行时间:CPU时间 = 531 毫秒,经过时间 = 33440 毫秒</code>
これに対し、フロアキャスト方式の CPU 時間は 625 ミリ秒、文字列変換方式の CPU 時間は 1953 ミリ秒です。これは、この特定のテスト環境では DATEADD メソッドの方が効率的であることを示しています。
結論:
SQL Server では、DATEADD 関数を使用すると、日時値を日付コンポーネントに切り捨てる効率的な方法が提供されます。そのシンプルさと速度により、さまざまなデータ処理シナリオに適した選択肢となります。
以上がSQL Server で DateTime 値から日付コンポーネントを効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。