R查询字符串中的反斜杠问题

时间:2016-07-20 12:54:43

标签: r rmysql

所以," \",正在粉碎我的灵魂。我正在处理RMySQL的查询,这需要一些奇怪的字符串转义,而我似乎无法找到正确的粘贴调用。

query <- 'CALL `storedprocX`(1, 30, "\'xyz-f43\', \'1002\'")'

到目前为止,我的尝试已接近但我似乎无法在正确的位置获得字面反斜杠。

ids <- c("xyz-f43","1002")
x <- 1
y <- 30

paste0('CALL `storedprocX`(',x,',',y,paste0(" \\'",ids,"\\'",collapse = ","),')')

任何人都有这方面的经验吗?

1 个答案:

答案 0 :(得分:1)

我不熟悉RMySQL,但不是SQL引擎负责转义吗?

> esc.ids = paste(sprintf("\\'%s\\'", ids), collapse = ", ")
> esc.ids = paste0("\"", esc.ids, "\"", collapse = "")
> my.q = paste0("'CALL `storedprocX`(1, 30, ", esc.ids, ")'", collapse = "")
> cat(my.q)
'CALL `storedprocX`(1, 30, "\'xyz-f43\', \'1002\'")'
> nchar(my.q)
[1] 52

SQL不会在这里做同样的猫吗?