gpt4 book ai didi

postgresql 错误 : Multiple decimal points

转载 作者:行者123 更新时间:2023-11-29 12:03:08 26 4
gpt4 key购买 nike

所以我有这个查询:

SELECT 
TO_CHAR(date_part('hour', created_at), 'YYYY-MM-DD HH24'),
to_char(created_at, 'day') ",
COUNT(*) AS "
FROM table
GROUP BY 1,2
ORDER BY 1 DESC

当我执行查询时,我得到了这个:

ERROR: multiple decimal points

搜索 stackoverflow 我在这里找到了一些建议: How to format bigint field into a date in Postgresql?但我不明白为什么我必须除以 1000 以及这将如何应用于 date_part 函数。

最佳答案

我假设 created_at 是一个时间戳?..我从 date_part(text, timestamp)date_part(text, interval) 中选择>,如果是这样,date_part 将返回一个 double ,您尝试对其应用掩码'YYYY-MM-DD HH24',例如:

v=# select date_part('hour', now());
date_part
-----------
9

我不明白你怎么可能从九得到年、月、日和小时...

但我假设您想将针对截断日期的掩码应用到小时精度,这是通过 date_trunc(text, timestamp) 完成的:

v=# select date_trunc('hour', now());
date_trunc
------------------------
2017-06-20 09:00:00+01
(1 row)

现在您可以应用时间格式了:

v=# select to_char(date_trunc('hour', now()),'YYYY-MM-DD HH24');
to_char
---------------
2017-06-20 09
(1 row)

但如果这是你想要的,那么你根本不需要截断时间:

v=# select to_char(now(),'YYYY-MM-DD HH24');
to_char
---------------
2017-06-20 09
(1 row)

https://www.postgresql.org/docs/current/static/functions-datetime.html

关于postgresql 错误 : Multiple decimal points,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44643820/

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