SQLite3にDateTime.Ticksでタイムスタンプを保存したら

ぱっと見ただけじゃ時刻が分からない。ものすごい数字に強い人ならともかくも。

しかし、多分integer(C#ではlong)で保存した方がインデックスが有効になるし、速いと思うので、Ticksで保存したいと思う。

そんな場合は、こうすればよい。

select datetime(created_at/pow(10,7) - 62135888400, 'unixepoch', 'localtime') as d, * from events;

長い。unixepochに変換するためにこうなってしまう。もっと直接的に計算できる項を見つければいいんだろうけど。SQLiteではCREATE FUNCTIONできないようだし。

SQLite3にDateTime.Ticksでタイムスタンプを保存したら」への1件のフィードバック

  1. 雄介

    帳尻あわせの数は、月によって変化するみたい。なぜかは分からない。select datetime(executed_at/pow(10,7) - 62135629200, 'unixepoch', 'localtime') as d, * from events;

    返信

コメントを残す