sqlite中的时间戳格式

我必须在SQLite中将UNIX时间戳格式化为人类可读的格式。我的Unix日期列名为ERDAT,我想从中使用以下命令从该列中提取最大日期:

SELECT MAX(strftime('%d - %m  - %Y ',datetime(ERDAT,'unixepoch'))) as max_date FROM table 

该表如下所示:

BANFN       BSART   ERDAT      clean_date
0000000000  A6  1528236000000   
0000000000  AB  1546470000000   
0000000000  A6  1505080800000   
0000000000  A6  1505080800000   
0000000000  A6  1507068000000   

我需要具有从ERDAT列派生的清除日期列,该列是unix时间戳格式,并且值的格式为DD:MM:YYYY HH:MM:SS

我在看到日期的地方得到的输出为null。我应该如何获得理想的结果?

feijun1971 回答:sqlite中的时间戳格式

您的Unix时间戳记包含毫秒,因此请使用:

select 
  strftime(
    '%d - %m  - %Y',max(datetime(ERDAT / 1000,'unixepoch','localtime'))
  ) as maxdate
from tablename

所需的格式%d - %m - %Y不可比较。因此,您必须首先获取最长日期,然后再应用此格式。
请参见demo
结果:

| maxdate         |
| --------------- |
| 02 - 01  - 2019 |
本文链接:https://www.f2er.com/2992479.html

大家都在问