R ODBC - 使用空格

时间:2017-06-21 17:12:30

标签: sql r rodbc

我正在尝试通过R OBDC进行查询。但是一个列名称上有空格。例如,[Account No]

我正在使用此代码进行查询:

esiid_ac <- sqlQuery(myconn, paste("
 SELECT * FROM CustomerUsage WHERE ((CustomerUsage.Account No ='", 12345, "')) ", sep=""),as.is=TRUE)

我收到以下错误:

  

[1]“42000 102 [Microsoft] [SQL Server的ODBC驱动程序11] [SQL   服务器]'否'附近的语法不正确。“[2]   “[RODBC] ERROR:无法SQLExecDirect'\ n SELECT * FROM   CustomerUsage WHERE((CustomerUsage.Account No ='678987'))'

如何解决这个问题?

我可以使用列索引而不是列名读取此表吗?

谢谢。

5 个答案:

答案 0 :(得分:4)

稍微修改一下引号后,这对我有用:

df <- sqlQuery(myconn, 'SELECT * FROM mytable WHERE "column name" =123', as.is=TRUE)

答案 1 :(得分:2)

您是否尝试过方括号(当列名中有特殊字符时,它们适合我?)

esiid_ac <- sqlQuery(myconn, paste(" SELECT * FROM CustomerUsage WHERE ((CustomerUsage.[Account No] ='", 12345, "')) ", sep=""),as.is=TRUE)

答案 2 :(得分:2)

您可以使用\"COL_NAME\"代替COL_NAME,并像使用它一样使用它。例如:

esiid_ac <- sqlQuery(myconn, "SELECT * FROM CustomerUsage WHERE \"Account No\" = 12345")

答案 3 :(得分:1)

您是否可以尝试将列名称设为[帐户号],然后尝试?

答案 4 :(得分:1)

你可以试试......

df <- sqlQuery(myconn, "SELECT * FROM mytab WHERE `crazy column name` =123", as.is=TRUE)