我正嘗試使用DBI::sqlInterpolate
函數生成一堆SQL腳本,但隨着腳本嵌入與R變量一起返回的引號,會不斷獲取SQL錯誤。如何從R的sqlInterpolate函數中刪除嵌入的引號?
這裏是代碼:
> x<-'state_transtions'
> y<-'transition_time'
> script<-"select * from ?x WHERE DATE(?y)> DATE_SUB(NOW(), INTERVAL 1 DAY)"
> sqlInterpolate(ANSI(),script,x=x,y=y)
#<SQL> select * from 'state_transtions' WHERE DATE('transition_time')> DATE_SUB(NOW(), INTERVAL 1 DAY)
正如你看到的我產生過R代碼所需的SQL表名和列名。因此注入值(?x,?y)作爲變量傳遞。
我擡頭看這個最接近找到解決辦法的鏈接,但說實話,我不明白。 [https://rstats-db.github.io/DBI/reference/sqlParseVariables.html#examples]
使用'sqldf'使sql查詢更容易 –