ホームページ > データベース > mysql チュートリアル > SQL Server が日時値を保存するときにミリ秒が失われるのはなぜですか?

SQL Server が日時値を保存するときにミリ秒が失われるのはなぜですか?

Patricia Arquette
リリース: 2025-01-13 11:07:44
オリジナル
190 人が閲覧しました

Why Does SQL Server Lose Milliseconds When Storing Datetime Values?

SQL Server でミリ秒が欠落している: 時間ストレージの粒度を理解する

SQL Server で時間に依存するデータを扱う場合は、ミリ秒単位の保存と処理の制限に注意することが重要です。ユーザーから提起された質問の中には、日時値をテーブルに挿入する際のミリ秒の欠落に関する問題がありました。

質問:

ユーザーは日時列を含むテーブルを作成し、ミリ秒を含む日時値を指定して挿入ステートメントを実行します。ただし、値を取得するときに、ミリ秒コンポーネントが消えているように見えます。

説明:

SQL Server 自体は、時間を約 1/300 秒の粒度で保存します。これは、0、3、7 ミリ秒間隔と一致します。たとえば、増分は次のようになります:

  • 00:00:00.000
  • 00:00:00.003
  • 00:00:00.007
  • 00:00:00.010
  • 00:00:00.013

指定されたシナリオでは、日時値に、SQL Server がサポートしていない粒度のミリ秒コンポーネントが含まれています。したがって、値がテーブルに格納されるとき、最も近い 1/300 秒に丸められるため、ミリ秒の精度が失われます。

解決策:

SQL Server でミリ秒の精度を実現するには、別のアプローチが必要です。

  • カスタム数値フィールド ストレージ: 日時値をカスタム数値フィールドに変換し、取得時に再構築します。
  • 文字列ストレージ: 日時値を既知の形式の文字列として保存します。これはミリ秒単位に対応できますが、概念的な複雑さが生じます。

以上がSQL Server が日時値を保存するときにミリ秒が失われるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート