gpt4 book ai didi

sql - 无法比较 to_char(timestamp, 'day' ) = 'monday'

转载 作者:行者123 更新时间:2023-12-04 10:20:09 26 4
gpt4 key购买 nike

在 PostgreSQL 数据库中,我有一个表付款,其中的列 payment_date 类型为时间戳。我的目标是计算周一支付的款项。以下查询:

SELECT TO_CHAR(payment_date, 'day') FROM payment;

给出如下结果:
thursday 
friday
friday
monday
tuesday

但是,当我尝试像这样计算星期一时:
SELECT COUNT(*) FROM payment
WHERE TO_CHAR(payment_date, 'day') = 'monday';

即使前面的查询显示它应该大于 0,结果也是 0。
第二个查询有什么问题?

最佳答案

Postgres 文档说“完整的小写日期名称(空白填充为 9 个字符)”

这个选择可以解决问题吗?如果有尾随空格,可能您的比较失败。

SELECT COUNT(*) 
FROM payment
WHERE RTRIM(TO_CHAR(payment_date, 'day')) = 'monday';

关于sql - 无法比较 to_char(timestamp, 'day' ) = 'monday',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60906623/

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