gpt4 book ai didi

bash - 如何从 shell 中的最大日期中提取最后 7 天的行

转载 作者:可可西里 更新时间:2023-11-01 15:30:26 27 4
gpt4 key购买 nike

我将 max(pay_date) 从 Hive 表传递给 Shell 中的变量 Max_datepay_date 字段的数据类型是Date

我想从表的 pay_dateMax_date 中提取 7 天的 pay_date

我使用下面的脚本来获取...

#!/bin/bash
Max_date=$(hive -e "select max(pay_date) from dbname.tablename;")

hive -e "select pay_date from dbname.tablename where pay_date >= date_sub(\"$Max_date\",7);"

它没有给我任何输出。

我坚持传递一个具有日期值的变量,并在 date_sub 函数中使用它来处理最后 7 天的行。

如果我遗漏了一些绝对基础知识,请告诉我。

最佳答案

您可以像这样运行查询:

hive -e "select o1.order_date from orders o1 join (select max(order_date) order_date from orders) o2 on 1=1 where o1.order_date >= date_sub(o2.order_date, 7);

您也可以将其用作 shell 脚本的一部分:

max_date=$(hive -e "select max(order_date) from orders" 2>/dev/null)

hive -e "select order_date from orders where order_date >= date_sub('$max_date', 7);"

关于bash - 如何从 shell 中的最大日期中提取最后 7 天的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34416859/

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