声明给了我日期和时间.

如何修改语句,使其只返回日期(而不是时间)?

SELECT to_timestamp( TRUNC( CAST( epoch_ms AS bigint ) / 1000 ) );

推荐答案

使用to_timestamp函数,然后将时间戳转换为date

 select to_timestamp(epoch_column)::date;

更多详情:

/* Current time */
 select now();  -- returns timestamp

/* Epoch from current time;
   Epoch is number of seconds since 1970-01-01 00:00:00+00 */
 select extract(epoch from now()); 

/* Get back time from epoch */
 -- Option 1 - use to_timestamp function
 select to_timestamp( extract(epoch from now()));
 -- Option 2 - add seconds to 'epoch'
 select timestamp with time zone 'epoch' 
         + extract(epoch from now()) * interval '1 second';

/* Cast timestamp to date */
 -- Based on Option 1
 select to_timestamp(extract(epoch from now()))::date;
 -- Based on Option 2
 select (timestamp with time zone 'epoch' 
          + extract(epoch from now()) * interval '1 second')::date; 

就你而言:

 select to_timestamp(epoch_ms / 1000)::date;

PostgreSQL Docs

Sql相关问答推荐

判断Pyspark生成的SQL查询

获取每个帖子的匹配关键字列表

在甲骨文中查找前一个星期一的S日期

Oracle SQL-将结果列在单行中

返回包含列和包含其他列的列表的自定义查询

PostgreSQL:按小时查看调整日期

两个不同星期的销售额,不加成一行

SQL计数条目大于日期,包括交叉表中的零

Oracle 23c ROUND,数据类型为DATE

如何在Postgres中为单值输入多行?

如何将insert语句重复n次使一个值递增?

在 PostgreSQL 中生成时间序列查询

仅当 SQL Server 中的表为开时,才在存储过程中使用更改跟踪

SQL根据另一列的顺序和值获取组中的最后一列

在 SQL Server 中合并两个 XML 列

在 Oracle 21c 中透视文本值

SQL Server:时态表并在运行时添加计算列

函数调用作为插入值语句中的参数

为什么 get_json_object() 无法从存储在 Hive SQL 表中的 JSON 中提取值?

运算符不存在:integer = bigint[]