如何在不影响日期的情况下更新列中的时间?
How can I update the time in a column without affecting the date?
在我的数据库中,我有一个 DATE
类型的列,其中存储了很多日期。我使用 timestamptz 将其转换为 DATETIME
。但是时间是00:00:00.
我想一直更改为 09:00:00 我尝试了很多更新和设置,但我只是遇到错误。
UPDATE note
SET entered = entered + TIMESTAMP(DATE(entered), TIME('09:00:00');
错误信息如下:
ERROR: syntax error at or near "DATE" LINE 2: SET entered = entered +
TIMESTAMP(DATE(entered), TIME('09:00...
^ SQL state: 42601 Character: 47
谁能帮我改时间?
我们可以尝试将所有时间戳截断为午夜,然后加上 9 小时:
UPDATE note
SET entered = DATE_TRUNC('day', entered) + interval '9' hour;
您可以尝试添加一个时间间隔,像这样
UPDATE note
SET entered = enetered + interval '9 hours';
在我的数据库中,我有一个 DATE
类型的列,其中存储了很多日期。我使用 timestamptz 将其转换为 DATETIME
。但是时间是00:00:00.
我想一直更改为 09:00:00 我尝试了很多更新和设置,但我只是遇到错误。
UPDATE note
SET entered = entered + TIMESTAMP(DATE(entered), TIME('09:00:00');
错误信息如下:
ERROR: syntax error at or near "DATE" LINE 2: SET entered = entered + TIMESTAMP(DATE(entered), TIME('09:00... ^ SQL state: 42601 Character: 47
谁能帮我改时间?
我们可以尝试将所有时间戳截断为午夜,然后加上 9 小时:
UPDATE note
SET entered = DATE_TRUNC('day', entered) + interval '9' hour;
您可以尝试添加一个时间间隔,像这样
UPDATE note
SET entered = enetered + interval '9 hours';