You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Athena不支持RIGHT函数时如何截取字符串右侧指定长度字符

AWS Athena 实现末尾截取字符串(等效RIGHT函数)方案

AWS Athena 基于Trino(原Presto)引擎构建,没有内置支持RIGHT()函数,直接调用会触发Queries of this type are not supported报错,可以通过内置的字符串函数组合实现完全等效的效果。

具体实现方式

使用substr()(别名substring())搭配length()函数即可实现从字符串尾部截取指定长度字符的需求,逻辑为计算字符串总长度后,定位到距离尾部指定长度的起始位置,截取到字符串末尾即可。
对应举例的RIGHT('1313521521', 4)需求,等效可执行语句为:

-- 截取字符串最后4位,返回结果1521
SELECT substr('1313521521', length('1313521521') - 4 + 1)

如果是对表字段做截取,把常量替换为字段名即可,例如对user_phone字段截取后4位:

SELECT substr(user_phone, length(user_phone) - 4 + 1) AS phone_tail
FROM your_table_name

补充说明

  • 当指定的截取长度大于字符串本身总长度时,上述写法会直接返回完整原字符串,和主流SQL中RIGHT函数的表现一致,不会抛出异常。
  • 如果需要实现从字符串开头截取指定长度的LEFT函数效果,直接调用substr(目标字符串/字段, 1, 截取长度)即可,无需额外计算长度。

内容的提问来源于stack exchange,提问作者user1179317

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 12:18:15