gpt4 book ai didi

sql - 从 Postgres 中的日期中提取工作日、毫秒、微秒、纳秒

转载 作者:行者123 更新时间:2023-11-29 14:09:43 24 4
gpt4 key购买 nike

如何从 Postgres 中的日期中提取毫秒、工作日、微秒、纳秒。我也尝试过提取方法,但找不到完全相同的方法。

最佳答案

我不确定您在寻找什么等价物,但是:

  • there is no nanosecond precision在 PostgreSQL 中:对于 timestampinterval 类型,p(精度)的允许范围是从 0 到 6。
  • 一些日期部分包括其他部分:即 milliseconds 包含 seconds & microseconds 包含 milliseconds(因此 seconds 也是)。

如果您正在寻找逻辑上独立的值,则需要进行一些数学运算,例如:

select extract(dow from ts) dow,       -- day-of-week (where weeks start on sunday, which is 0)
extract(isodow from ts) isodow, -- ISO day-of-week (where weeks start on monday, which is 1)
floor(extract(seconds from ts))::int only_seconds,
floor(extract(milliseconds from ts))::int - 1000 * floor(extract(seconds from ts))::int only_milliseconds,
floor(extract(microseconds from ts))::int - 1000 * floor(extract(milliseconds from ts))::int only_microseconds,
extract(microseconds from ts) all_microseconds

或者,如果您要查看时间戳在实际周内的距离,您也可以使用timestamp(和interval)算法:

select ts - date_trunc('week', ts) time_elapsed_since_monday

(虽然很难计算从星期日开始的周数:date_trunc 仅适用于 ISO 周数)。

http://rextester.com/SOOO48159

关于sql - 从 Postgres 中的日期中提取工作日、毫秒、微秒、纳秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com