2016-07-15 14 views
1

機能を見るhere。書式設定では、ミリ秒(0.001)で使用可能な分数秒が表示されますが、ミリ秒に正確ですか?私はこれらの通話の解決をドキュメントのいずれかで見つけることができませんでした。SQLiteの日付時刻関数の解像度は?

答えて

1

これは、日付の形式によって異なります。

INTEGERの数値は2番目の数値に正確です。

TEXTの値はミリ秒に正確です。小数点以下桁のフィールドでさらに数字を指定できますが、組み込み関数は最初の3つ後のすべてを無視します。

ユリウス日数の分解能は1ミリ秒より優れていますが、フォーマットするときは組み込み関数は3桁未満の小数点以下を出力しません。

1

https://www.sqlite.org/datatype3.html#section_2_2

SQLiteは日付 および/または時刻を格納するために確保されたストレージ・クラスを持ちません。その代わり、SQLiteの の組み込みの日付および時刻関数は、TEXT、REAL、またはINTEGER 値として日付と時刻を格納することが可能です:MM:SS ISO8601の文字列( "YYYY-MM-DD HHとして

TEXT .SSS ")。

REALジュリアンの日番号、グリニッジでの正午から11月の日数 24、4714 BC。前向きなグレゴリオ暦によると、

INTEGERはUnix Timeとして、1970-01-01 00:00:00 UTC以降の秒数です。 アプリケーションは、 形式のいずれかで日付と時刻を格納し、組み込み日付と 時間機能を使用して自由に形式を変換することができます。

ISO8601文字列で最高の解像度に到達できるようです。記憶域表現を混ぜていない限り、これらの文字列の精度に問題はありません。

+0

興味深いことに、ジュリアンの日番号の使用について何か知っていますか?私は彼らが同じ決議でなければならないと思います。それが私が使っているものです。ありがとう! –

+0

ミリ秒分解能が必要な場合は、REALは浮動小数点数なので、ユリウス日を使用しないでください。 「浮動小数点精度」と「関連エラー」(http://floating-point-gui.de/)を見て、私が何を意味するのかを見てください。 – Caius