0

現在、年のみを格納するYearという整数フィールドを現在保持しているsqliteデータベースがあります。将来のバージョンでは、完全な日付と時刻を保存したいと思います。

alter tableを使用して、FullDateフィールドを含むようにテーブルを更新しました。

> ALTER TABLE Files ADD COLUMN UploadDate DATETIME DEFAULT 0;

次に、既存のすべての年フィールドを新しいフィールドに移行します。だから私は次のようなものを探しています:

> UPDATE Files SET UploadDate = (DATETIME('%Y-%m-%d', Year, 1, 1));

残念ながら、結果が空であるため、これは機能しないようです。date関数とstrftime関数も試しましたが、データが正しくないか、データが空になっています。

同じテーブル内の既存のデータでDATETIMEフィールドを更新する適切な方法は何ですか?

4

1 に答える 1

2

DATEand関数にはDATETIMEformatパラメーターがありません。

詳細:http ://sqlite.org/lang_datefunc.html

主な落とし穴は、SQLiteには日付または時刻のタイプがないため、フィールドに次の情報を入力することをお勧めします。

UPDATE Files SET UploadDate = Year || '-01-01';

そして、それはまったく同じことをします。日付は型指定されたとおりに保存されませんが、日付と時刻の関数に対してそのように評価できます。

于 2010-08-15T22:14:44.557 に答える