ホームページ >データベース >mysql チュートリアル >SQL Server の「datetime」データ型のミリ秒精度はどのくらい正確ですか?
SQL Server を使用してタイムスタンプを処理する場合、その精度の制限を理解することが重要です。
次のテーブル構造を考えてみましょう:
<code class="language-sql">CREATE TABLE [TESTTABLE] ( [ID] [int] IDENTITY(1,1) NOT NULL, [DateField] [datetime] NULL, [StringField] [varchar](50), [IntField] [int] NULL, [BitField] [bit] NULL )</code>
次のコードを実行します:
<code class="language-sql">BEGIN INSERT INTO TESTTABLE (IntField, BitField, StringField, DateField) VALUES ('1', 1, 'hello', {ts '2009-04-03 15:41:27.378'}); SELECT SCOPE_IDENTITY() END</code>
期待される動作は、完全なミリ秒の精度でタイムスタンプを保存することです。ただし、次のステートメントを使用してテーブルをクエリする場合:
<code class="language-sql">select * from testtable with (NOLOCK)</code>
DateField 列に次のように表示されることに気づくかもしれません:
<code>2009-04-03 15:41:27.*377*</code>
SQL Server は約 1/300 秒しか保存しません。これらの時間値は常に 0、3、7 ミリ秒になります。例:
<code>00:00:00.000<br></br> 00:00:00.003<br></br> 00:00:00.007<br></br> 00:00:00.010<br></br> 00:00:00.013<br></br> ...</code>
ミリ秒の精度が重要な場合、SQL Server のネイティブ データ型には直接的な解決策はありません。次の方法が検討できます:
以上がSQL Server の「datetime」データ型のミリ秒精度はどのくらい正確ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。