如何从coldfusion查询中读取包含空格的列?

时间:2014-01-23 07:00:55

标签: coldfusion cfquery cfspreadsheet

我正在阅读电子表格中的数据。电子表格中的一列包含空格。

例如,列名称是[名字,姓氏,名称]。

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

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

抛出db错误。我已尝试使用['first name'],但仍然会抛出错误。

错误是:

Query Of Queries syntax error.
Encountered "[. Incorrect Select List, Incorrect select column

3 个答案:

答案 0 :(得分:8)

我做了一些疯狂的事情,比如 googling ,看看人们在其他情况下做了什么,并尝试了各种SQL方法来逃避非标准列名称(背蜱,方形barackets,双引号,其组合) ),并画了一个空白。所以我同意@da_didi,QoQ / IMQ不满足于此。您应该在Adobe bug tracker中提出一张票。

您可以执行SELECT *,这样就无需引用列名。或者您可以序列化查询,使用字符串替换重命名列,再次反序列化,然后修改名称上的QoQ。我只会用少量数据来做这件事。

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

您也可以使用excludeHeaderRow来抑制列名从XLS文件中删除,然后指定您自己的列名。我怎么知道有人可以做到这一点?通过 RTFMing <cfspreadsheet> docs

答案 1 :(得分:0)

你做不到。最佳实践:我总是用下划线替换所有空格。

答案 2 :(得分:0)

简单。只是选择别名。从qryObj

中选择[FIRST NAME]作为FIRSTNAME