특별히 날짜를 처리 할 때 붙여 넣기를 사용하여 SQL 쿼리를 구성하는 것이 좋습니다. 여기에 날짜를 numeric
으로 변환하지만 선택적입니다 (데이터베이스에 따라 달라 지므로 MS SQL이 자동으로 날짜로 변환됩니다). 예를 들어
: 나는 붙여 넣기 및 9월 = '\ n을'을 사용하여 내 쿼리를 만들
다음
query <- paste(
'SELECT ST03001, ST03003, ST03007, ST03015, ST03012, ST03020, ST03021, ST03022 ',
'FROM ST031000',
paste("WHERE ST03015 >" , as.numeric(as.Date('2013-05-01')),sep=''),
sep='\n')
고양이가 사용 :
cat(query)
SELECT ST03001, ST03003, ST03007, ST03015, ST03012, ST03020, ST03021, ST03022
FROM ST031000
WHERE ST03015 >15826
또한 변환이 (필요 할 수 없다 숫자)
query <- paste(
+ 'SELECT ST03001, ST03003, ST03007, ST03015, ST03012, ST03020, ST03021, ST03022 ',
+ 'FROM ST031000',
+ paste("WHERE ST03015 >'" , as.Date('2013-05-01'),"'",sep=''),
+ sep='\n')
> cat(query)
SELECT ST03001, ST03003, ST03007, ST03015, ST03012, ST03020, ST03021, ST03022
FROM ST031000
WHERE ST03015 >'2013-05-01'
여기서는 sqldf
패키지를 사용한 예입니다. 그런 다음
values <- as.data.frame(matrix(sample(1:100,8*6*3,rep=T),ncol=8))
colnames(values) <- c('ST03001', 'ST03003', 'ST03007', 'ST03015', 'ST03012', 'ST03020', 'ST03021', 'ST03022')
values$ST03015 = seq(as.Date("2012/1/1"), as.Date("2013/06/1"), length.out= nrow(values))
:
sqldf(query <- paste(
'SELECT ST03001, ST03003, ST03007, ST03015, ST03012, ST03020, ST03021, ST03022 ',
'FROM ST031000',
paste("WHERE ST03015 >" , as.numeric(as.Date('2013-05-01')),sep=''),
sep='\n'))
ST03001 ST03003 ST03007 ST03015 ST03012 ST03020 ST03021 ST03022
1 73 74 58 2013-05-01 82 85 88 58
2 8 63 71 2013-06-01 37 76 15 44
이 당신의 쿼리 문자열 안에 따옴표를 탈출 시도 나는 일부 데이터를 생성합니다. ''를'\ ''로 대체하십시오. –