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

时间:2020-03-05 18:39:39  来源:igfitidea点击:

我猜它需要是这样的:

CONVERT(CHAR(24), lastModified, 101)

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

谢谢!

好吧,我正在尝试编写一个脚本,将我的sql server db复制到sqlite文件,该文件下载到air应用程序,然后将数据同步到另一个sqlite文件。我在约会上有很多麻烦。如果我在空中选择一个日期并尝试将其插入,则它将失败,因为它的格式不正确...即使它是一个有效的开始日期。我认为我将尝试使用Unix时间,因为到目前为止这是唯一可行的方法。我正在考虑只是将它们保留为varchar,因为无论如何我都不会对其进行排序。

解决方案

回答

定义"最后纪元"。这接近吗?

选择演员表(lastModified为整数)

回答

最后一个时代是格林尼治标准时间1970年?

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

另请参阅纪元日期

回答

如果将它们存储为varchar,则将它们存储为YYYYMMDD。这样一来,我们便可以在以后按需要对它们进行排序。

回答

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中的更多信息,我写了《如何在SQL Server中存储日期?

回答

我最后在MS SQL中使用格式120:

convert(char(24), lastModified, 120)

每当出于非显示目的而需要在SQLite中选择一个日期时,我都会使用:

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

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

编辑:接受答案会向任何向我展示如何从sqlite很好地显示日期的人