R RODBC sprintf не работает

C_Mu спросил: 14 ноября 2017 в 06:59 в: r

Я знаком с SAS, но плохо знаком с R. Я пытаюсь получить данные из дата-магазина Netezza, и у меня нет проблем с получением данных путем ввода даты. Но когда я пытаюсь использовать sprintf с динамической датой, сообщение об ошибке отображается ниже. Спасибо за прочтение моего поста, и любая помощь от вас приветствуется, спасибо!

мой код работает при наборе даты:

test<- sqlQuery(db,"
SELECT DISTINCT
B.ACCOUNT_NB,
A.CUSTOMER_NBR,
C.DATA_AS_OF_DT as MONTH_END_ENTRY_DT_LR,
C.REGION
FROM  xxxxxxx
WHERE xxxx
AND C.DATA_AS_OF_DT= '2017-11-30'
)

Тот же код НЕ делайте работать при использовании sprintf:

dt='2017-11-30'
test<- sqlQuery(db,sprintf("
SELECT DISTINCT
B.ACCOUNT_NB,
A.CUSTOMER_NBR,
C.DATA_AS_OF_DT as MONTH_END_ENTRY_DT_LR,
C.REGION
FROM  xxxxxxx
WHERE xxxx
AND C.DATA_AS_OF_DT= %s",dt)
)

ошибка msg is

test [1]"HY000 46 ОШИБКА: несовместимые типы данных 'DATE' и 'INT4'"
[2]" [RODBC] ОШИБКА: не удалось SQLExecDirect '\ n ВЫБРАТЬ ДИСТИНКТ \ n ........................... . И J.DATA_AS_OF_DT = 2017-11-30 \ n \ n \ n '"

0 ответов