本文为您介绍MaxCompute内建函数的常见问题。
- MaxCompute是否支持MD5函数?
- MaxCompute支持将2010/1/3格式转换为2010-01-03吗?
- MySQL的IFNULL函数对应MaxCompute的哪个函数?
- 如何将UNIX时间转为日期值?
- 使用MaxCompute内建函数时,隐式类型转换报错,如何处理?
- MaxCompute可以通过哪个函数设置自增序列?
- 如何获取系统当前时间?
- 使用YEAR、QUARTER、MONTH和DAY日期函数时报错,如何处理?
- 如何实现对固定长度字符串,不足部分前面补零?
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_DATE和TO_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新数据类型开关。
如何实现对固定长度字符串,不足部分前面补零?
您可以使用LPAD函数,更多函数信息,请参见LPAD。
在文档使用中是否遇到以下问题
更多建议
匿名提交