[英]R ODBC - Querying Column name with spaces
I am trying to query through R OBDC. 我试图通过R OBDC进行查询。 But one Column name has space on it.
但是一个列名称上有空格。 For example,
[Account No]
. 例如,
[Account No]
。
I am using this code to query: 我正在使用此代码来查询:
esiid_ac <- sqlQuery(myconn, paste("
SELECT * FROM CustomerUsage WHERE ((CustomerUsage.Account No ='", 12345, "')) ", sep=""),as.is=TRUE)
I am getting the following error: 我收到以下错误:
[1] "42000 102 [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near 'No'."
[1]“42000 102 [Microsoft] [SQL Server的ODBC驱动程序11] [SQL Server]”否“附近的语法不正确。” [2] "[RODBC] ERROR: Could not SQLExecDirect '\\n SELECT * FROM CustomerUsage WHERE ((CustomerUsage.Account No ='678987')) '
[2]“[RODBC]错误:无法SQLExecDirect”\\ n SELECT * FROM CustomerUsage WHERE((CustomerUsage.Account No ='678987'))'
How to solve this? 怎么解决这个?
Can I read this table with column index instead of column names? 我可以使用列索引而不是列名来读取此表吗?
Thank you. 谢谢。
在稍微修改一下引号之后,这对我有用:
df <- sqlQuery(myconn, 'SELECT * FROM mytable WHERE "column name" =123', as.is=TRUE)
你试过方括号吗(当列名中有特殊字符时,它们适用于我)?
esiid_ac <- sqlQuery(myconn, paste(" SELECT * FROM CustomerUsage WHERE ((CustomerUsage.[Account No] ='", 12345, "')) ", sep=""),as.is=TRUE)
You can use \\"COL_NAME\\"
instead of COL_NAME
and use that as you would always use it. 您可以使用
\\"COL_NAME\\"
而不是COL_NAME
并像使用它一样使用它。 For example: 例如:
esiid_ac <- sqlQuery(myconn, "SELECT * FROM CustomerUsage WHERE \"Account No\" = 12345")
您可以尝试将列名称设置为[帐户号]然后尝试吗?
你可以试试...
df <- sqlQuery(myconn, "SELECT * FROM mytab WHERE `crazy column name` =123", as.is=TRUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.