当前位置: 首页 > 面试题库 >

在PostgreSQL选择查询中将时间戳列值转换为纪元

裴凯定
2023-03-14
问题内容

我需要将时间戳记值转换为SELECT查询中的纪元。请找到以下示例表和预期结果。

样表:

select * from log;



id        | 3
time      | 2016-03-30 18:44:19.189513
data1     | NONE
data3     | NONE
data4     | NONE

预期结果:

id        | 3
time      | 1459343659
data1     | NONE
data3     | NONE
data4     | NONE

日志表的行数为n。请找到以下版本详细信息:

select version();

version                                            
----------------------------------------------------------------------------------------------
 PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.7.2-5) 4.7.2, 64-bit

问题答案:

使用extract()函数:

select id, extract(epoch from time) as time, 
       data1, data2,data3
from log;

显然,您的列不是timestamp列,而是a varchar,因此您首先需要将其转换为实际时间戳,然后才能使用extract()

select id, 
       extract(epoch from time::timestamp) as time, 
       data1, data2,data3
from log;

仅当该列中的所有值均具有正确的时间戳ISO格式时,此方法才起作用。

这告诉你,你应该

永远不要将日期,时间戳或时间值存储在varchar列中!



 类似资料:
  • 问题内容: 我想将MySQL中的A 转换为日期。 我想将user.registration字段格式化为文本文件。 这是我的SQL: 我还尝试了日期转换: 我在写文本文件之前回显结果,然后得到: email1; name1; DATE_FORMAT(user.registration,’%d /%m /%Y’);新闻1 email2; name2; news2 如何将该字段转换为日期? 问题答案:

  • 问题内容: 我目前在使用Python时遇到问题。我有一个Pandas DataFrame,列之一是带有日期的字符串。格式为: “%Y-%m-%d%H:%m:00.000”。例如:“ 2011-04-24 01:30:00.000” 我需要将整列转换为整数。我尝试运行此代码,但是它非常慢,并且有几百万行。 你们知道如何将整个列转换为纪元时间吗? 提前致谢 ! 问题答案: 将字符串转换为using ,

  • 问题内容: 我在PostgreSQL中有一个字符串。 我想将时间戳转换为整数,例如:1477354441 我想向该值添加自定义分钟,例如 如何在PostgreSQL中实现呢? 问题答案:

  • 我正在训练把人类可读时间转换成纪元时间。这是我的测试用例 上面的代码打印4次“无效输入”,然后第5行打印正确的历元值,因为我的text='12.12.2020'输入字符串符合第5个条件。我需要打印,如果我的“文本”条件符合任何这些格式,然后只打印纪元值,否则打印“无效输入”。有谁能帮我解决这个问题吗?提前道谢。

  • 问题内容: 在MySQL客户端/控制台中输出查询结果之前,如何告诉MySQL将时间戳格式设置为可读日期? 问题答案: 像这样使用FROM_UNIXTIME:

  • 目前我正在逐行读取数据文件。每行都有一个时间戳,格式为dd/MM/yyyy HH: mm: ss“我需要将其转换为自纪元以来的毫秒。我尝试了两种方法 1个 2. 在分析之后,我发现方法一的成本非常高,而方法二的成本比第一种低一些,但仍然很高。第一个需要大约1600ms的CPU时间,第二个需要1100ms的CPU时间。 问题- 1个 2. 谢谢 ** ** 好啊在这里添加更多细节。测试运行了1000