両方の方法で保管してください。フレームワークはそれぞれの方法で設定できます。ISO形式の文字列を含む生の列を見つけることを期待している場合、それはおそらくそれが価値があるよりも回避するのが面倒です。
2つの列を持つことの懸念はデータの一貫性ですが、sqliteはそれを機能させるために必要なすべてを備えている必要があります。バージョン3.3は、チェック制約とトリガーをサポートしています。日付と時刻の関数を読んでください。データベースで必要なことを完全に実行できるはずです。
CREATE TABLE Table1 (jd, isotime);
CREATE TRIGGER trigger_name_1 AFTER INSERT ON Table1
BEGIN
UPDATE Table1 SET jd = julianday(isotime) WHERE rowid = last_insert_rowid();
END;
CREATE TRIGGER trigger_name_2 AFTER UPDATE OF isotime ON Table1
BEGIN
UPDATE Table1 SET jd = julianday(isotime) WHERE rowid = old.rowid;
END;
また、DB内で必要なことを実行できない場合は、必要な機能を実行するためのC拡張機能を作成できます。そうすれば、拡張機能をロードする以外にフレームワークに触れる必要はありません。