带微秒的 Postgres 时间戳
Postgres timestamp with microseconds
我在 table 中有一列的数据类型设置为 timestamp without time zone
。
我需要微秒(6位)的时间部分,但有时如果最后一位为零,微秒部分会忽略它。
我可以用下面的查询得到 6 位数字
select to_char(now(), 'yyyy-mm-dd hh:mi:us');
2020-07-16 12:05:598000
上面的输出是 text/char 格式,但我需要它是 timestamp without time zone
数据类型,所有 6 位数字都是微秒,即使最后一位或某些数字为零也是如此。列数据类型为 timestamp without time zone
在您尝试显示该值之前,有效位数不会起作用。在此示例中,46.392000 等同于 46.392,就像十进制数一样。
select '2020-07-16 11:35:46.392000-4'::timestamptz = '2020-07-16 11:35:46.392-4'::timestamptz;
?column?
----------
t
您需要在什么地方查看所有六位数字都去掉了零?这就是您需要应用格式的地方。
我在 table 中有一列的数据类型设置为 timestamp without time zone
。
我需要微秒(6位)的时间部分,但有时如果最后一位为零,微秒部分会忽略它。
我可以用下面的查询得到 6 位数字
select to_char(now(), 'yyyy-mm-dd hh:mi:us');
2020-07-16 12:05:598000
上面的输出是 text/char 格式,但我需要它是 timestamp without time zone
数据类型,所有 6 位数字都是微秒,即使最后一位或某些数字为零也是如此。列数据类型为 timestamp without time zone
在您尝试显示该值之前,有效位数不会起作用。在此示例中,46.392000 等同于 46.392,就像十进制数一样。
select '2020-07-16 11:35:46.392000-4'::timestamptz = '2020-07-16 11:35:46.392-4'::timestamptz;
?column?
----------
t
您需要在什么地方查看所有六位数字都去掉了零?这就是您需要应用格式的地方。