我正在做一个简单的操作,将一些表的字段插入到另一个表中,这两个表都是databricks中的单元表,所以我可以使用以下简单的查询来完成这个操作:
INSERT INTO <BBDD_NAME>.<TABLE1_NAME> (<FIELD_1>, <FIELD_2>)
SELECT <FIELD_1>, <FIELD_2># FROM <BBDD_NAME>.<TABLE2_NAME>我遇到的问题是,其中一个字段的名称中有一个“#”,因此我得到了一个ParseException错误:
Error in SQL statement: ParseException:
mismatched input '#' expecting {<EOF>, ';'}TABLE2是JDE (JDE表文档)的F0911,它通过火花推断模式的来源直接插入到数据库中。因此,创建表时没有出现包含“#”包含字段的问题。
有办法避免这个ParseException错误吗?
提前谢谢。
发布于 2022-08-05 11:28:05
可以使用后排来转义列名中的非法标识符。这应该是可行的:
INSERT INTO <BBDD_NAME>.<TABLE1_NAME> (<FIELD_1>, <FIELD_2>)
SELECT <FIELD_1>, `<FIELD_2>#` FROM <BBDD_NAME>.<TABLE2_NAME>https://stackoverflow.com/questions/73246813
复制相似问题