如何在Athena中为列名转义大于/小于符号?
Athena中输出列名包含<、>符号的解决办法
你当前的写法错误在于用单引号包裹列别名——单引号在SQL里用于定义字符串常量,而列别名属于标识符,不能这么处理。
你执行的报错SQL:
Select worker_name as '<<Worker>>' from employ
对应的报错信息:
mismatched input ''<<Worker>>''. Expecting: <identifier>
可行解决方法
Athena基于Presto引擎,遵循ANSI SQL标准,要给列名使用特殊字符,需要用双引号包裹别名:
SELECT worker_name AS "<<Worker>>" FROM employ;
为什么之前的尝试无效:
- 反引号(`)是MySQL等数据库的标识符包裹方式,Presto/Athena不支持
- ESCAPE关键字用于处理字符串转义,和标识符定义无关,自然起不到作用
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

