本文为您介绍MaxCompute内建函数的常见问题。

MaxCompute是否支持MD5函数?

支持,详情请参见MD5

MaxCompute支持将2010/1/3格式转换为2010-01-03吗?

如果日期为2010/01/03格式,可以通过TO_CHAR(TO_DATE(‘2010/01/03’, ‘yyyy/mm/dd’), ‘yyyy-mm-dd’)函数进行转换,详情请参见TO_DATETO_CHAR。如果日期为2010/1/3格式,您需要自行编写UDF函数实现日期转换。

MySQL的IFNULL函数对应MaxCompute的哪个函数?

MySQL的IFNULL函数对应MaxCompute的NVL函数。MaxCompute内建函数与MySQL、Oracle函数的对照关系请参见与MySQL、Oracle内建函数对照表

如何将UNIX时间转为日期值?

您可以使用FROM_UNIXTIME函数将数字型的UNIX时间转为日期值,详情请参见FROM_UNIXTIME

使用MaxCompute内建函数时,隐式类型转换报错,如何处理?

当MaxCompute项目打开2.0新数据类型开关(odps.sql.type.system.odps2=true)时,某些隐式类型转换会被禁用,包括STRING->BIGINT、STRING->DATETIME、DOUBLE->BIGINT、DECIMAL->DOUBLE和DECIMAL->BIGINT,都有精度损失或报错的风险。此时,您可以通过CAST函数执行强制转换解决该问题或者关闭2.0新数据类型开关。

MaxCompute可以通过哪个函数设置自增序列?

您可以使用ROW_NUMBER函数设置自增序列,详情请参见ROW_NUMBER

如何获取系统当前时间?

您可以使用GETDATE函数获取系统当前时间,详情请参见GETDATE

使用YEAR、QUARTER、MONTH和DAY日期函数时报错,如何处理?

  • 问题现象:报错示例如下。
    FAILED: ODPS-0130071:[1,8] Semantic analysis exception - function or view 'year' cannot be resolved
  • 解决方法:YEAR、QUARTER、MONTH和DAY为MaxCompute 2.0扩展函数,使用这些函数时,您需要在SQL语句前增加set语句set odps.sql.type.system.odps2 = true;,打开2.0新数据类型开关。