1

私はそれが次のようなものである必要があると推測しています:

CONVERT(CHAR(24), lastModified, 101)

ただし、3 番目のパラメーターの正しい値がわかりません。

ありがとう!


さて、SQL Server db を sqlite ファイルにコピーするスクリプトを作成しようとしています。このファイルはエア アプリにダウンロードされ、データが別の sqlite ファイルに同期されます。デートでかなり悩んでいます。放送中の日付を選択して挿入しようとすると、最初は有効な日付であったとしても、正しい形式ではないため失敗します。これまでうまくいったのはUNIX時間だけだったので、UNIX時間で実験してみようと思いました。とにかくソートしないので、varcharのままにしておくことを検討しています。

4

6 に答える 6

2

最後のエポックは 1970 GMT のときですか?

SELECT DATEDIFF(s,'19700101 05:00:00:000',lastModified)

エポック日付も参照

于 2008-08-14T15:33:02.703 に答える
2

sqlite> datetime() を選択します。
2011-01-27 19:32:57

sqlite> select strftime('%Y-%m-%d %H:%M:%S','now');
2011-01-27 19:33:57

参照:
(日時関数)[http://sqlite.org/lang_datefunc.html]

于 2011-01-27T19:35:35.793 に答える
1

私はMS SQLでフォーマット120を使用して巻き上げました:

convert(char(24), lastModified, 120)

表示以外の目的で SQLite で日付を選択する必要があるたびに、次を使用しました。

strftime(\"%Y-%m-%d %H:%M:%S\", dateModified) as dateModified

今、ユーザーに日付を表​​示するための読みやすい/使いやすい方法が必要です!

編集:答えを受け入れて、sqliteから日付をうまく表示する方法を教えてくれる人に行きます;p

于 2008-08-14T15:52:17.237 に答える
0

「最後のエポック」を定義します。これは近いですか?

キャストを選択 (lastModified As Integer)

于 2008-08-14T15:32:00.770 に答える
0

varchar として保存する場合は、YYYYMMDD として保存します。そうすれば、必要に応じて後で並べ替えることができます。

于 2008-08-14T15:41:30.127 に答える
0

SQL サーバーには 2 つのフェイルセーフ日付形式しかありません

ISO = YYYYMMDD、これを実行して確認します

  select convert(varchar(10),getdate(),112)

ISO8601 = yyyy-mm-dd Thh:mm:ss:mmm (スペースなし) これを実行して、

select convert(varchar(30),getdate(),126)

日付が SQL サーバーにどのように格納されるかについて詳しく知るために、私はHow Are Dates Stored In SQL Server?を書きました。

于 2008-08-14T15:45:00.760 に答える