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 ...
我正在 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 ...