sqlite中的时间戳格式化
Timestamp formatting in sqlite
我必须在 SQLite 中将 UNIX 时间戳格式化为人类可读的格式。我的 Unix 日期列被命名为 ERDAT,我想从我正在使用以下内容的列中提取最大日期:
SELECT MAX(strftime('%d - %m - %Y ', datetime(ERDAT, 'unixepoch'))) as max_date FROM table
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 作为我应该看到日期的输出。我应该如何达到预期的结果?
您的 Unix 时间戳包含毫秒,因此请使用:
select
strftime(
'%d - %m - %Y',
max(datetime(ERDAT / 1000, 'unixepoch', 'localtime'))
) as maxdate
from tablename
您想要的格式%d - %m - %Y
没有可比性。所以你必须先获取最大日期,然后应用此格式。
见 demo.
结果:
| maxdate |
| --------------- |
| 02 - 01 - 2019 |
我必须在 SQLite 中将 UNIX 时间戳格式化为人类可读的格式。我的 Unix 日期列被命名为 ERDAT,我想从我正在使用以下内容的列中提取最大日期:
SELECT MAX(strftime('%d - %m - %Y ', datetime(ERDAT, 'unixepoch'))) as max_date FROM table
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 作为我应该看到日期的输出。我应该如何达到预期的结果?
您的 Unix 时间戳包含毫秒,因此请使用:
select
strftime(
'%d - %m - %Y',
max(datetime(ERDAT / 1000, 'unixepoch', 'localtime'))
) as maxdate
from tablename
您想要的格式%d - %m - %Y
没有可比性。所以你必须先获取最大日期,然后应用此格式。
见 demo.
结果:
| maxdate |
| --------------- |
| 02 - 01 - 2019 |