使用 ODBC 查询 Excel 文件时如何转义列名中的双引号
How to escape double quotes in a column name when querying Excel file using ODBC
我需要使用 ODBC 查询 Excel 文件。
sheet、Sheet1
有一列包含双引号。例如,他"llo.
在没有该列的情况下查询 sheet 会产生正确的结果,例如:
SELECT "test" FROM "Sheet1$"
但是当列包含双引号时,我无法查询它。我在某处读到您可以通过添加双引号来转义这些引号,但是以下查询 SELECT "he""llo" FROM "Sheet1$"
会产生以下错误:
Syntax error (missing operator) in query expression '[he][llo]'.
我试过各种方法来转义那个字符,但都无济于事。
请注意,更改数据源不是一种选择,或者至少是不得已的选择。
提前致谢!
找到解决方案。
当列包含双引号时,您可以将带引号的标识符更改为反引号。您甚至可以将它们与其他列的常规引用混合使用,例如:
SELECT "test", `he"llo` FROM "Sheet1$"
希望这对其他人也有帮助!
我需要使用 ODBC 查询 Excel 文件。
sheet、Sheet1
有一列包含双引号。例如,他"llo.
在没有该列的情况下查询 sheet 会产生正确的结果,例如:
SELECT "test" FROM "Sheet1$"
但是当列包含双引号时,我无法查询它。我在某处读到您可以通过添加双引号来转义这些引号,但是以下查询 SELECT "he""llo" FROM "Sheet1$"
会产生以下错误:
Syntax error (missing operator) in query expression '[he][llo]'.
我试过各种方法来转义那个字符,但都无济于事。
请注意,更改数据源不是一种选择,或者至少是不得已的选择。
提前致谢!
找到解决方案。
当列包含双引号时,您可以将带引号的标识符更改为反引号。您甚至可以将它们与其他列的常规引用混合使用,例如:
SELECT "test", `he"llo` FROM "Sheet1$"
希望这对其他人也有帮助!