RMySQLとMySQLデータベースを使用してデータセットを保存しています。データが改訂されたり、結果がデータベースに保存されたりすることがあります。簡単に言えば、私のユースケースでは、Rとデータベースの間にかなりの相互作用があります。
ほとんどの場合、データの書き込みと読み取りには、やdbWriteTable
などの便利な関数を使用します。dbReadTable
残念ながら、これらはRデータ型とMySQLフィールド型を完全に無視しています。つまり、MySQLの日付フィールドは最終的にDate
またはPOSIX
クラスになると思います。逆に言えば、これらのRクラスはある程度対応するMySQLフィールドタイプとして格納されていると思います。つまり、日付は文字であってはなりません–ここでfloatとdoubleを区別することは期待していません...
私も使用しようとしましたdbGetQuery
–同じ結果があります。マニュアルを読んだときに完全に見逃したものはありますか、それともこれらのパッケージでは(まだ)不可能ですか?うまく回避するにはどうすればよいですか?
編集:@mdsummerドキュメントでもっと何かを見つけようとしましたが、これらの残念な行だけが見つかりました: `MySQLテーブルはdata.framesとしてRに読み込まれますが、文字または論理データを強制的に要素に変換することはありません。同様に、data.framesをエクスポートする場合、ファクターは文字ベクトルとしてエクスポートされます。
整数列は通常、Rの倍精度ベクトルに強制されて切り捨てを回避するBIGINTやUNSIGNED INTEGERなどの場合を除いて、Rの整数ベクトルとしてインポートされます(現在、Rの整数は32ビットの符号付きの量です)。
時間変数は文字データとしてインポート/エクスポートされるため、これらをお気に入りの日付/時刻表現に変換する必要があります。