简体   繁体   English

R ODBC - 使用空格查询列名

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM