如何从Coldfusion查询中读取带有空格的列?

我正在从电子表格中读取数据.电子表格中的一列包含空格.

例如,列的名称为[名字,姓氏,卷名].

阅读电子表格后,我得到一个qryObj.
现在,当我尝试从查询中读取名字时

<cfquery dbtype="query" name="getName">
    SELECT [first name]
    FROM   qryObj
</cfquery>

它抛出数据库错误.我也尝试过[‘first”],但仍然会引发错误.

错误是:

Query Of Queries syntax error.
Encountered "[. Incorrect Select List, Incorrect select column
最佳答案
我做了一些疯狂的工作,例如谷歌搜索,看看别人在其他情况下做了什么,并尝试了各种SQL方法来转义非标准的列名(反勾,方括号,双引号,组合),并画了一个空白.因此,我同意@da_didi的观点,QoQ / IMQ不能满足此要求.您应该在Adobe bug tracker筹款.

您可以执行SELECT *,从而无需引用列名.或者,您可以序列化查询,使用字符串替换来重命名该列,再次将其反序列化,然后对修订后的名称进行QoQ.不过,我只会使用少量数据来执行此操作.

或者,您可以回退XLS文件的owbner并说“除非您修改列名,否则不能做”.

您也可以使用excludeHeaderRow抑制XLS文件中的列名,然后指定自己的列名.我如何找到一个可以做到的?通过RTFMing <cfspreadsheet> docs.

转载注明原文:如何从Coldfusion查询中读取带有空格的列? - 代码日志