在 Impala 中查找月份中的第几周

Posted

技术标签:

【中文标题】在 Impala 中查找月份中的第几周【英文标题】:Find the week of month in Impala 【发布时间】:2021-03-23 09:08:07 【问题描述】:

我想在 impala 中打印 2020-03-01 是在 3 月的第一周。 这在 Impala 中怎么可能?我只找到了 weekofyear()。

【问题讨论】:

类似于:weekofyear(column) - weekofyear(YEAR(column) + MONTH(column) + '1') + 1. @jarlh 感谢您的回答。虽然这出现了:算术运算需要数字操作数。我不确定 impala 是否能理解 +'1' 将其视为伪代码。我不知道如何“构建”一月的第一个日期。 【参考方案1】:

如果“月中的一周”是指第一周是 1-7 天,第二周是 8-14 天,以此类推,那么您可以使用:

select ceiling( day(ingestion_date) / 7.0 ) as week_of_month

【讨论】:

是的,和我上面的回答一样。 @DrGenius 。 . .这应该产生相同的结果。但是,它不需要将日期转换为字符串,不使用隐式转换为 int,并且只使用算术和正确的date 函数。【参考方案2】:

我想通了,

ceil(cast(substr(ingestion_date,7,2) as int)/7) as wmonth

我做的步骤:

对日期进行子串化以仅取日期 将其转换为 int 除以 7 ceil结果

【讨论】:

以上是关于在 Impala 中查找月份中的第几周的主要内容,如果未能解决你的问题,请参考以下文章

SQL取日期为当前月份的第几周思路

根据传入的年份和月份获取该月属于本年的第几周和每周的开始和结束日期

js实现获取当前时间是本月第几周和年的第几周的方法

java如何得到指定日期月的第几周?按每年的1号为第一周开始算。

在oracle中怎么计算当天是本月的第几周?

如何计算当前日期是当年的第几周