首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期和时间写入R中的SQL数据库

将日期和时间写入R中的SQL数据库
EN

Stack Overflow用户
提问于 2021-03-29 23:03:27
回答 1查看 464关注 0票数 0

我正在尝试使用包含日期和时间的列的数据集来创建SQL数据库。我遇到的问题是,当数据被写入SQL数据库,并将日期和时间列读入R中时,日期和时间列最终具有一个数字结构,而不是Po-6 not结构,或者没有正确地显示日期和时间。

我一直在使用RSQlite和DBI包在两者之间工作。我刚刚开始使用SQL,是否有适当的方法将日期和时间列读入SQL数据库?

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-29 23:37:36

SQLite不支持日期和时间类型。以下是一些选择:

  1. 将日期/时间字段自己转换回R类。您可以为每个表编写一个单独的函数,读入表中读取并透明地进行转换的R,或者对列采用命名约定,如果您控制数据库本身,则允许单个函数根据命名规则执行转换。实现命名约定的另一种方法是使用平方包,而不是编写自己的函数。如果使用sqldf("select ...", dbname = "mydb", connection = con, method = "name__class"),它将将名称有两个下划线的每个列转换为两个下划线之后的类名。注意,name__class还有两个下划线。
  2. dbmisc包(也请参阅)可以执行转换。您必须为每个表准备一个模式,即布局规范,如上面所述,以便使用它。
  3. 使用支持日期/时间类型的不同数据库。在这种情况下,我通常使用H2数据库。RH2包以类似于RSQLite的方式将整个H2数据库软件包含在R驱动程序包中。
  4. 根据下面的注释,最新版本的RSQLite支持时间和日期字段;但是,请注意,与上面的其他解决方案一样(使用H2除外),它位于R端,并且不会更改SQLite本身没有这种支持的事实,例如,如果您使用SQL修改这样的字段,比如添加1以获取下一个日期,那么它将不再是相同的类型。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66862729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档