我正在阅读电子表格中的数据。电子表格中的一列包含空格。
例如,列名称是[名字,姓氏,名称]。
我在阅读电子表格后得到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
答案 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