最後のエポックからの秒数の T-Sql 日付形式 / SQLite 入力の形式

StackOverflow https://stackoverflow.com/questions/11200

  •  08-06-2019
  •  | 
  •  

質問

次のようなものになる必要があると思います:

CONVERT(CHAR(24), lastModified, 101)

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

ありがとう!


さて、私はSQLサーバーデータベースをSQLiteファイルにコピーするスクリプトを書こうとしています。これはAirアプリにダウンロードされ、データは別のSQLiteファイルに同期されます。デートのことでとても困っています。空中で日付を選択して挿入しようとすると、正しい形式ではないため失敗します...たとえそれが最初から有効な日付だったとしても。これまでのところうまくいったのは Unix 時間だけなので、それを試してみようと思いました。とにかくそれらで並べ替えないので、それらをvarcharのままにすることを検討しています。

役に立ちましたか?

解決 3

結局、MS SQL で形式 120 を使用しました。

convert(char(24), lastModified, 120)

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

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

ここで必要なのは、ユーザーに日付を表​​示する読みやすくわかりやすい方法だけです。

編集:SQLite から日付を適切に表示する方法を教えてくれる人に答えを受け入れます;p

他のヒント

最後のエポックはグリニッジ標準時 1970 時ですか?

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

こちらも参照 エポック日付

スクライト> 選択日時();
2011-01-27 19:32:57

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

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

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

キャスト (最終変更は整数として) を選択します

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

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サーバーに日付がどのように保存されるかについて詳しく知るために、私は次のように書きました SQL Server では日付はどのように保存されますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top