2016-05-11 7 views
0

私はmysqlデータベースにRを接続しました。私がコマンドsqlSave(channel, dataframe)を使用すると、自分のデータフレームがデータベースに書き込まれますが、Rの日付としてコード化されたすべてのエントリ(クラス "POSIXct" "POSIXt"、例えば "2016-01-01 CET")は mysqlデータベースに記録されます。これはどのように可能ですか?
ご協力いただきありがとうございます。RODBCのsqlSaveは日付の年をRに保存します

EDIT:列の種類は「double」です。だから私はsqlSave日付/時間として保存することはできませんね?

+0

データベースの文字列として列の種類を設定し、日付を文字に変換して保存しようとしましたか? – Psidom

答えて

0

私は正確な関数を使用しましたが、library(RMySQL)からは以下のようになりました。まず、あなたのデータが正しい形式であることを確認してください。

toSql$Date<-as.POSIXct(strptime(toSql$Date,"%Y-%m-%d %H:%M",tz="GMT")) 

その後も、あなたのテーブルを作成したときにcolumntypeとしてTIMESTAMPを使用していることを確認し、次のようにデータベースに保存

create table table_name(
ID INTEGER, 
DATE TIMESTAMP, 
PRIMARY KEY(ID) 
) 
; 

はその後になります:

dbWriteTable(con, name = "table_name", toSql, overwrite=FALSE, 
       append=TRUE,row.names = NA) 

はおそらく、あなたのdataframeのあなたの名前が同じであることを確認してください。

names(toSql) 
[1] "ID" "DATE" 
関連する問題