1. sqlQuery 数据查询时,默认会把某些字符串字段当作数值读进来,数据库中原始数据如下,其中companyCode字段为字符串类型:
把表读进来后,字符串变成了数值,如下:
> read.data <- sqlQuery(conn_source, 'SELECT * FROM test')
> class(read.data$companycode)
[1] "integer"
> head(read.data)
id time companycode
1 1 2018-03-30 1
2 2 2018-03-31 1
3 3 2018-04-02 1
4 4 2018-04-04 1
5 5 2018-04-01 1
6 6 2018-04-03 1
解决方案:增加sqlQuery属性,
> read.data <- sqlQuery(conn_source, 'SELECT * FROM test', as.is = TRUE)
> class(read.data$companycode)
[1] "character"
> head(read.data)
id time companycode
1 1 2018-03-30 001
2 2 2018-03-31 001
3 3 2018-04-02 001
4 4 2018-04-04 001
5 5 2018-04-01 001
6 6 2018-04-03 001