Sqlite 查询将时间戳转换为日期

Sqllite query convert timestamp to date

我正在 Ubuntu Linux 上使用 DBeaver,并通过 org.sqlite.JDBC 驱动程序查询 sqlite 数据库。在 table 中,名为“event_date”的列显然属于

类型
ABCevent_date(TIMESTAMP(10))

所以当我查询它时,我得到一列很长的数字,例如:

|event_date   |
|-------------|
|1430434800000|
|1430434800000|
|1430434800000|
|1430434800000|
|1430434800000|
|1433286000000|
|1433286000000|

我尝试了很多使用 DATE、DATETIME 和 STRFTIME 的方法,但无法让它们作为正常日期(如“2014-05-10”)出现在查询结果中,通常只会得到 NULL。如何将这些数字转换为日期?谢谢。 J

您的日期是带毫秒的 unix 纪元时间。
您必须将 event_date 除以 1000 以去除毫秒,然后使用函数 date()datetime():

SELECT date(event_date / 1000, 'unixepoch')
FROM ...