2017-12-20 22 views
1

나는 Filemaker 데이터베이스에 연결하고 데이터를 읽고 쓰려면 RODBC을 사용합니다.RODBC - sqlSave 날짜

나는 현재이 코드 내 데이터베이스에 날짜를 쓰기에 실패

: 나는 'decimal' 및 쓰기에 데이터베이스에 열 C를 포맷 할 때 Incompatible types in assignment.

의미가 있습니다 :

sqlQuery(db, "INSERT INTO mytable (a,c) VALUES (98,'01-01-2017')") 

R은 오류를 슬로우하는 두 숫자 값, 그래서 유일한 문제는 날짜의 형식입니다 확신 해요. 나는 데이터의 여러 배열 (예 : 2017-01-01, 2017/01/01, 인용 부호 등)을 시도했다. 데이터베이스에 수동으로 데이터를 입력하면 데이터 형식이 dd-mm-yyyy가되므로 문제는되지 않습니다.

제안 사항? 더 중요한 -

+0

어떤 데이터베이스 당신이 (예를 들어, MySQL은, 포스트 그레스, 오라클 등)을 사용하고 있습니까? –

+0

이것은 파일 메이커 데이터베이스입니다. 게시물을 편집했습니다. – Thorsten

+0

이 데이터베이스를 모르므로 도움을 드릴 수 없습니다. 위의 쿼리가 데이터베이스에서 직접 실행되지만 R에서는 실행되지 않는다면 이상하게 느껴질 것입니다. 이는 R 드라이버가 데이터 마샬링을 수행하고 있음을 의미합니다. –

답변

0

난 그냥

ExecuteSQL accepts only the SQL-92 syntax ISO date and time formats with no braces. ExecuteSQL does not accept the ODBC/JDBC format date, time, and timestamp constants in braces.

그리고 진술 this FileMaker documentation 발견! -이 :

상관없이 당신이이 문자열로 촬영 작성하는 것을

To apply the correct formatting to dates in an SQL query, use the DATE statement. If you do not use the DATE statement, ExecuteSQL treats dates as literal strings

...

+0

Filemaker에 대해 잘 모르기 때문에 테스트를 거치지 않았으므로 upvote를 할 수 없습니다. OP가 이것을 받아들이면 upvote에 기꺼이 기뻐할 것입니다. –