gpt4 book ai didi

sql - 将 Least 与 DatePart 一起使用?

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

我在 8 月份运行查询,但我想将其转换为 date_part 函数。

这是原始查询。

SELECT avg(CASE WHEN date = LEAST(current_date-1,'8/31/14') THEN bo ELSE NULL END) end_bo 
From <table>

我想做的是将 LEAST 插入到下面的代码中。

SELECT avg(CASE WHEN date_part('month', date) = 8 and date_part('year', date) = 2014 THEN bo ELSE NULL END) end_bo
From <table>

问题是,我看不到在哪里可以插入它。

最佳答案

第一个查看那些日期中哪个更早,currentdateAug 31 2014,如果它等于 date 它返回 bo

第二个测试当前月份是否为 aug 2014 并返回 bo

要将相同的逻辑应用于第二个查询,它可能如下所示:

SELECT avg(CASE 
WHEN least(date_part('month', currentdate), 8) = date_part('month', date)
and date_part('year', date) = 2014
THEN bo
ELSE NULL
END) end_bo

这将查看当前月份,如果它小于 8,则将其与 date 月份进行比较,如果相等则返回 bo

LEAST只返回列表中的最小数字。所以 least(9,8) (sept, aug) 会返回 8。

关于sql - 将 Least 与 DatePart 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816328/

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