如何从postgres datetime中减去秒数

use*_*426 5 postgresql

假设我有一个类型为dateTime的列,其值为"2014-04-14 12:17:55.772",我需要从它中减去秒"2"秒,得到像这样的"12:17:53".

Clo*_*eto 12

select '2014-04-14 12:17:55.772'::timestamp - interval '2 seconds';
Run Code Online (Sandbox Code Playgroud)

为了获得更大的灵活性,可以多次间隔

select '2014-04-14 12:17:55.772'::timestamp - 2 * interval '1 second';
Run Code Online (Sandbox Code Playgroud)

如果你想截断到第二个

select date_trunc(
    'second', 
    '2014-04-14 12:17:55.772'::timestamp - interval '2 seconds'
);
Run Code Online (Sandbox Code Playgroud)


a_h*_*ame 5

Postgres 没有dateTime数据类型。我假设你的意思是timestamp.

您可以从该列中减去所需长度的“间隔”:

select the_timestamp_column - interval '2' second
from the_table
Run Code Online (Sandbox Code Playgroud)

更多关于手册中的间隔

有关手册中可用的运算符datetimestamp列的更多信息