gpt4 book ai didi

sql - Postgresql 从要比较的日期中提取 monthYear

转载 作者:行者123 更新时间:2023-11-29 14:35:58 25 4
gpt4 key购买 nike

WHERE to_char(startDate, 'MM-YYYY') BETWEEN '04-2017' AND '06-2017'

此代码有效,但它是对的吗?

或者我必须将月份和年份分别提取为数字?

最佳答案

为此,您需要使用 yyyymm 而非 mmyyyy 的格式:

WHERE to_char(startDate, 'YYYY-MM') BETWEEN '2017-04' AND '2017-06'

更好的写法是使用明确的日期比较:

WHERE startDate >= '2017-04-01'::date AND
startDate < '2017-07-01'::date

这允许优化器在 startDate 上使用索引。此外,无论 startDate 是否有时间组件,它都有效。

关于sql - Postgresql 从要比较的日期中提取 monthYear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44699559/

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