sqlite - sqlite中的时间戳格式

标签 sqlite datetime-format

我必须在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,我应该在其中看到一个日期。我应该如何获得预期的结果?

最佳答案

您的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 - sqlite中的时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59141242/

相关文章:

android - 如何查看保存在 android 数据库(SQLite)中的数据?

python - Flask 安全文本渲染用户生成的 block

android - 用于删除行的 SQLite 触发器表达式

java - sql 格式 'YYYY-MM-DD HH24:MI:SS.FF' 到 java 的日期格式问题

python - Pandas 点格式日期

c++ - Qt 和 SQlite 数据库,我如何计算查询?

java - 将嵌入式 sqlite-db 添加到 Netbeans 项目

php - 如何将 datetime-local 输入转换为 unix 时间戳?

ruby-on-rails - rails - 在保存到服务器之前将 DateTime 转换为 UTC

r - 如何在大数据帧中快速转换不同的时间格式?