开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

大数据计算MaxCompute上有多天的数据,有什么别的函数可以解决吗?

大数据计算MaxCompute上有多天的数据,现在需要筛选创建时间在8:00-17:30的数据,但是time函数不可用,有什么别的函数可以解决吗?例如创建时间有2023-11-15 07:00:00,2023-11-15 09:00:00,2022-11-15 17:00:00,2022-11-15 18:00:00,我们只需要2023-11-15 09:00:00和2022-11-15 17:00:00 这两条数据

展开
收起
真的很搞笑 2023-11-19 07:48:39 43 0
3 条回答
写回答
取消 提交回答
  • 在MaxCompute中,您可以使用内置的日期函数来筛选出创建时间在8:00-17:30的数据。首先,您需要将字符串形式的创建时间转换为日期格式,然后利用日期函数进行筛选。具体来说,可以使用to_date函数将字符串按照指定的格式转为日期值。

    例如,假设您的数据表名为my_table,创建时间的字段名为create_time,那么可以使用如下的SQL语句进行筛选:

    SELECT * FROM my_table WHERE to_date(create_time, 'yyyy-MM-dd HH:mm:ss') >= to_date('2023-11-15 08:00:00', 'yyyy-MM-dd HH:mm:ss') AND to_date(create_time, 'yyyy-MM-dd HH:mm:ss') <= to_date('2023-11-15 17:30:00', 'yyyy-MM-dd HH:mm:ss');
    

    这条SQL语句会返回所有创建时间在2023年11月15日8点到17点半之间的数据。注意,您需要根据实际情况调整表名和字段名。

    2023-11-29 16:44:17
    赞同 展开评论 打赏
  • 40daad16aab616b41085baa575bfcc36.png
    我转换成时间戳看了下,如果拿时间戳数字来比较的话,属实是中间只有一个9:00。2022-11-15 17:00:00 这条数据是给错了?2022年的.把数据拆分一下吧,拆成年月日和时分秒,后边筛选时分秒的。大概这样,试试23388ce5b21c1521bb541b5168ea22af.png
    ,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-11-19 22:39:02
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您可以使用SQL SELECT 查询来实现筛选。您可以尝试以下代码:

    SELECT 
        *
    FROM your_table
    WHERE to_date(cast(your_time_column AS string), 'yyyy-MM-dd HH:mm:ss') BETWEEN '2023-11-15 08:00:00' AND '2023-11-15 17:30:00';
    

    请注意,“your_time_column”替换为您表中包含时间戳的列名,to_date将时间戳转换为date类型,然后通过BETWEEN运算符筛选出需要的数据。

    2023-11-19 14:51:42
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 热门讨论

    热门文章

    相关电子书

    更多
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载
    大数据&AI实战派 第2期 立即下载