0
我查询R中使用RODBC在SQL Server表时,WHERE子句:字符串和使用RODBC的sqlquery的
例子:
num = 2
temp <- sqlQuery(conn, sprintf('SELECT "Time", "Temp"
FROM "DataTable"
WHERE "Week_Number" = %s
ORDER BY "Time"', num))
这工作得很好,但如果我尝试使用WHERE子句在包含字符串列,我不能让它的工作
例子:
place_name <- 'London'
temp <- sqlQuery(conn, sprintf('SELECT "Time", "Place"
FROM "Data_Table"
WHERE "Place" = %s
ORDER BY "Time"', place_name))
我个人有T例如:
place_name <- 'London'
place_name <- \'London\'
place_name <- "'London'"
place_name <- gsub("'", "''", London)
这一切都没有奏效。我收到以下错误消息: “42000 102 [Microsoft] [用于SQL Server的ODBC驱动程序11] [SQL Server]'London'附近的语法错误。”
有什么建议吗?
你试过把占位符用双引号?例如' “%S”'? – joran
嗨@joran,谢谢你的建议。我确实尝试过,并且出现以下错误:[1]“42S22 207 [Microsoft] [ODBC驱动程序11 for SQL Server] [SQL Server]无效的列名称''London''。” [2]“[RODBC] ERROR:Could not SQLExecDirect'SELECT \”Time \“\ n FROM \”DataTable \“\ n WHERE \”place_name \“= \”'/ London'\“\ ORDER BY \”时间\”'” –