Reputation: 547
I've a data frame where some of the column names are of the format . format. For ex: Company.1 when i'm using that column in a sqldf function it throws an error
data=sqldf(select Company.1 from test)
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: near ".1": syntax error)
Any workaround so that i can use the column name as it is?
Upvotes: 3
Views: 7438
Reputation: 1565
The solution for the latest update of sqldf
is answered here
We only need to write the SQL statement between single quotes, and the column names including dots between double quotes or backticks/backquotes interchangeably.
Upvotes: 1
Reputation: 1658
This problem is about the .
in your column name, if you change it to Company_1
it works:
data = sqldf("select Company_1 from test")
Upvotes: 1
Reputation: 32351
The dot has another meaning in SQL (e.g., separating table name from column name) and is replaced by an underscore before sending the data to SQLite.
library(sqldf)
test <- data.frame( "Company.1" = 1:10 )
sqldf( 'SELECT Company_1 FROM test' )
Upvotes: 6