sqlite中整数转化为日期

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
百草谷居士
帖子: 3936
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

sqlite中整数转化为日期

#1

帖子 百草谷居士 » 2019-07-12 9:45

我使用dbeaver将SQL server中数据导出到sqlite中,其中的datetime类型一开始导出到sqlite中被dbeaver标记为timestamp类型。
一开始是没有问题的,在dbeaver中进行查询操作,都可以自动转换为日期类型。
但是,今天操作时,发现这一列全部变成了长达13位的整数。我使用datetime函数进行转换,得到的是空值。
sqlite在运算上支持timestamp类型,但在表存储应该是不支持timestamp类型的,所以才会出这样的问题。
而长达13位的整数,也远远超出了sqlite的timestamp的范围。

一开始,dbeaver是如何自动转换的?
现在,我又该如何进行手工转换?
debian 12.5 / xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6542
注册时间: 2008-09-18 13:11

Re: sqlite中整数转化为日期

#2

帖子 astolia » 2019-07-12 10:19

按毫秒计的unix时间吧,简单点就是除以1000后再转换
头像
百草谷居士
帖子: 3936
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

Re: sqlite中整数转化为日期

#3

帖子 百草谷居士 » 2019-07-12 10:21

除以1000,再使用date或者datetime函数转换,附加'unixepoch'和'localtime'修饰符。
debian 12.5 / xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
回复