postgresql - Postgres : Update date and retain time from timestamp

标签 postgresql timestamp

我有一个带时间戳数据类型 的字段 1,值格式为 2016-02-23 12:01:30

我正在运行查询:

UPDATE <table> set field1 = '2015-12-31'::timestamp::date where .....

输出变为:

  2015-12-31 00:00:00

它将时间转换为全零。如何更改日期并保留时间戳?

最佳答案

试试这个:

UPDATE mytable 
SET field1 = '2015-12-31'::timestamp + 
             EXTRACT(HOUR FROM field1) * INTERVAL '1 HOUR' +
             EXTRACT(MINUTE FROM field1) * INTERVAL '1 MINUTE' +
             EXTRACT(SECOND FROM field1) * INTERVAL '1 SECOND' 
WHERE ...

Demo here

关于postgresql - Postgres : Update date and retain time from timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35569790/

相关文章:

java - 用Java读取Oracle时间戳并进行比较

mysql - 时间戳(自动)何时更新?

postgresql - 如何使用 postgres 数据库、Docker 和 Kubernetes 持久化数据?

php - Laravel 无法获取超过 15k 条记录

PHP 尝试使 JavaScript 友好的时间戳,失败,返回 1.34899651119E+12

mysql - mysql 表 drupal 中的 "created"和 "updated"列

java - 在 sql 查询中使用 java.sql.Timestamp 对象

sql - Rails/SQL 如何让不同的工作人员处理不同的记录?

postgresql - 如何在 Postgresql 查询中使用多个 "unique index inferences"

sql - 我如何优化这个组明智的最大 sql 查询?