首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ParseException当字段名在SparkSQL中包含“#”时

ParseException当字段名在SparkSQL中包含“#”时
EN

Stack Overflow用户
提问于 2022-08-05 08:27:29
回答 1查看 127关注 0票数 0

我正在做一个简单的操作,将一些表的字段插入到另一个表中,这两个表都是databricks中的单元表,所以我可以使用以下简单的查询来完成这个操作:

代码语言:javascript
复制
INSERT INTO <BBDD_NAME>.<TABLE1_NAME> (<FIELD_1>, <FIELD_2>) 
SELECT <FIELD_1>, <FIELD_2># FROM <BBDD_NAME>.<TABLE2_NAME>

我遇到的问题是,其中一个字段的名称中有一个“#”,因此我得到了一个ParseException错误:

代码语言:javascript
复制
Error in SQL statement: ParseException: 
mismatched input '#' expecting {<EOF>, ';'}

TABLE2是JDE (JDE表文档)的F0911,它通过火花推断模式的来源直接插入到数据库中。因此,创建表时没有出现包含“#”包含字段的问题。

有办法避免这个ParseException错误吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 11:28:05

可以使用后排来转义列名中的非法标识符。这应该是可行的:

代码语言:javascript
复制
INSERT INTO <BBDD_NAME>.<TABLE1_NAME> (<FIELD_1>, <FIELD_2>) 
SELECT <FIELD_1>, `<FIELD_2>#` FROM <BBDD_NAME>.<TABLE2_NAME>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73246813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档