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 \」時間\」'」 –