首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL查询如何在Oracle/Hive中获取周/年的最后一个工作日?

在Oracle中获取周/年的最后一个工作日,可以使用以下SQL查询语句:

  1. 获取周的最后一个工作日:
代码语言:txt
复制
SELECT MAX(date_column) AS last_workday_of_week
FROM your_table
WHERE TO_CHAR(date_column, 'D') < 6
AND TO_CHAR(date_column, 'IW') = TO_CHAR(SYSDATE, 'IW');

解释:

  • date_column是日期列的名称,需要根据实际情况替换。
  • TO_CHAR(date_column, 'D')将日期转换为星期几,1表示星期日,2表示星期一,以此类推。
  • TO_CHAR(date_column, 'IW')将日期转换为ISO标准的周数。
  • TO_CHAR(SYSDATE, 'IW')获取当前日期的ISO周数。
  1. 获取年的最后一个工作日:
代码语言:txt
复制
SELECT MAX(date_column) AS last_workday_of_year
FROM your_table
WHERE TO_CHAR(date_column, 'D') < 6
AND TO_CHAR(date_column, 'YYYY') = TO_CHAR(SYSDATE, 'YYYY');

解释:

  • TO_CHAR(date_column, 'YYYY')将日期转换为年份。
  • TO_CHAR(SYSDATE, 'YYYY')获取当前年份。

在Hive中获取周/年的最后一个工作日,可以使用以下SQL查询语句:

  1. 获取周的最后一个工作日:
代码语言:txt
复制
SELECT MAX(date_column) AS last_workday_of_week
FROM your_table
WHERE date_format(date_column, 'u') < 6
AND date_format(date_column, 'w') = date_format(current_date(), 'w');

解释:

  • date_column是日期列的名称,需要根据实际情况替换。
  • date_format(date_column, 'u')将日期转换为星期几,1表示星期一,2表示星期二,以此类推。
  • date_format(date_column, 'w')将日期转换为一年中的周数。
  • date_format(current_date(), 'w')获取当前日期的周数。
  1. 获取年的最后一个工作日:
代码语言:txt
复制
SELECT MAX(date_column) AS last_workday_of_year
FROM your_table
WHERE date_format(date_column, 'u') < 6
AND date_format(date_column, 'Y') = date_format(current_date(), 'Y');

解释:

  • date_format(date_column, 'Y')将日期转换为年份。
  • date_format(current_date(), 'Y')获取当前年份。

请注意,以上查询语句中的your_table需要替换为实际的表名,date_column需要替换为实际的日期列名。此外,这些查询语句假设工作日是从星期一到星期五,如果工作日定义不同,需要相应调整条件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券