私は、データを SQLite3 形式で保存する系図ソフトウェアに取り組んでいます。1 つの細かい点を除いて、すべて正常に動作します。すべての場合において、生年月日または死亡日 (など) の正確性が正確な日に利用できるわけではありません。したがって、次の精度があります。
- 正確な (YYYY-MM-DD)
- 月 (YYYY-MM)
- 年(YYYY)
- 年 (YYYY+/-5)
- 年 (YYYY+/-10)
- 年 (YYYY+/-50)
- 十年
- 世紀
ここで、すべてを 1 つの列に格納すると仮定すると、問題が発生します。SQLite3 にはユリウス日関数があるので、ユリウス日の小数部で精度をエンコードすることを考えていましたREAL
(とにかく時間は必要ありません)。それは問題ありませんが、SELECT
動作が複雑になります。実際、そうでなければ SQLite3 にオフロードできるものをアプリケーション コードに実装する必要があります。
不正確な日付を保存し、それらをすばやくクエリできる合理的な方法は何でしょうか?
注:回答者にとって重要な場合、使用される言語はPythonですが、一般的に質問しています。