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

在大数据计算MaxCompute中,用哪个函数转换比较好呢?

我要如何在DW中将2023-5-1转为2023-05-01,?
SELECT count() from trade where pay_at>='2023-5-1'
查询结果为:0条
SELECT count(
) from trade where pay_at>='2023-05-01'
查询结果为:100条
setproject odps.sql.type.system.odps2=true; --打开MaxCompute 2.0数据类型。
setproject odps.sql.decimal.odps2=true; --打开Decimal 2.0数据类型。
setproject odps.sql.hive.compatible=true; --打开Hive兼容模式。

展开
收起
崔问问 2023-12-07 17:29:54 56 0
4 条回答
写回答
取消 提交回答
  • 在DW中,你可以使用日期格式化函数date_format来将日期字符串进行格式化。要将2023-5-1转换为2023-05-01,可以使用以下SQL语句:

    SELECT count(*) from trade where date_format(pay_at, 'yyyy-MM-dd') >= '2023-05-01';
    

    这将使用date_format函数将pay_at字段的日期格式化为yyyy-MM-dd的格式,并将其与'2023-05-01'进行比较。

    你提到的其他两行SQL语句是对项目进行配置,以启用MaxCompute 2.0数据类型和Decimal 2.0数据类型,以及打开Hive兼容模式。这些设置不会对原有节点的相关语法产生影响,它们主要用于控制MaxCompute在处理数据时的行为和语法兼容性。

    请注意,这些设置是针对当前会话有效的,并不会永久改变项目的配置。如果你希望在项目级别进行这些配置,可以在MaxCompute的配置文件中进行相应的设置。

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

    在DW中,你可以使用DATE_FORMAT()函数将日期格式从"2023-5-1"转换为"2023-05-01"。以下是查询语句:

    SELECT count(*) from trade where pay_at >= DATE_FORMAT('2023-5-1', '%Y-%m-%d')
    

    这个查询语句会将pay_at字段的值与"2023-5-1"进行比较,如果大于等于"2023-5-1",则计数加1。

    2023-12-07 20:10:20
    赞同 展开评论 打赏
  • 在DW(Data Warehouse)中,您可以使用DATE_FORMAT函数将日期从'2023-5-1'转换为'2023-05-01'的格式。以下是示例查询语句:

    SELECT DATE_FORMAT('2023-5-1', 'yyyy-MM-dd') AS formatted_date;
    

    该查询将返回结果为'2023-05-01'。

    请注意,这只是一个临时查询,不会对原有节点的相关语法产生影响。上述查询仅适用于将特定日期格式化为所需形式。

    至于您提到的setproject语句,在DW中是用来设置项目级别的配置选项,以影响后续的查询行为。在你的例子中,这些语句分别用于打开MaxCompute 2.0数据类型、Decimal 2.0数据类型和Hive兼容模式。这些设置通常是针对特定需求而进行的调整。但是,请注意,这些设置可能会对之后的SQL语句执行产生一些影响,因此在使用它们之前需要详细了解这些设置的含义和潜在影响。

    2023-12-07 19:43:32
    赞同 展开评论 打赏
  • 1ab975c12af5099a6a3d62e17b50d018.png
    set odps.sql.hive.compatible=true; 把hive兼容 设置成project级别。 https://help.aliyun.com/zh/maxcompute/user-guide/hive-compatible-data-type-edition?spm=a2c4g.11186623.0.i8
    不建议直接全部设置成project级别。另外你看下是不是直接把原始数据表的数据直接换成对应的格式。 此回答整理自钉钉群:MaxCompute开发者社区1群

    2023-12-07 17:37:07
    赞同 展开评论 打赏

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

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

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