自sqlite输入的上一个纪元/格式以来的秒数的T-Sql日期格式

时间:2008-08-14 15:26:11

标签: tsql sqlite date

我猜它需要像:

CONVERT(CHAR(24), lastModified, 101)

但是我不确定第三个参数的正确值。

谢谢!


我正在尝试编写一个脚本来将我的sql server db复制到一个sqlite文件,该文件被下载到一个air app,然后将数据同步到另一个sqlite文件。我在约会方面遇到了很多麻烦。如果我在空中选择一个日期并尝试插入它,它会失败,因为它的格式不正确...即使它是一个有效的日期开始。我想我会试着尝试unix时间,因为那是迄今为止唯一有用的东西。我正在考虑将它们留作varchar,因为无论如何我都不按它们排序。

6 个答案:

答案 0 :(得分:2)

上个世纪是1970年GMT?

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

另见Epoch Date

答案 1 :(得分:2)

源码> 选择datetime();
2011-01-27 19:32:57

源码> 选择strftime('%Y-%m-%d%H:%M:%S','现在');
2011-01-27 19:33:57

<强>参考:
(日期时间函数)[http://sqlite.org/lang_datefunc.html]

答案 2 :(得分:1)

我在MS SQL中使用格式120:

convert(char(24), lastModified, 120)

每次我需要在SQLite中选择一个日期用于非显示目的时我使用:

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

现在我只需要一种可读/友好的方式向用户显示日期!

编辑:接受答案给谁告诉我如何从sqlite中很好地显示日期; p

答案 3 :(得分:0)

定义“上一个纪元”。这是否接近?

选择Cast(lastModified As Integer)

答案 4 :(得分:0)

如果将它们存储为varchar,请将它们存储为YYYYMMDD。这样你就可以在以后按他们排序。

答案 5 :(得分:0)

SQL Server只有2种故障安全日期格式

ISO = YYYYMMDD,运行此以查看

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

ISO8601 = yyyy-mm-dd Thh:mm:ss:mmm(无空格)运行此以查看

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

要了解有关如何在SQL Server中存储日期的更多信息,我写了How Are Dates Stored In SQL Server?