gpt4 book ai didi

sql-server - 来自 SQL Server 的日期的 RODBC 管理

转载 作者:行者123 更新时间:2023-12-02 14:54:33 26 4
gpt4 key购买 nike

我有一个 SQL 数据库 (2012),我试图通过 R (R Studio) 访问它。从企业管理器来看,它是这样的:

select top 5[date],value from dbo.history

1991-02-11 11.1591

1991-02-12 11.2

1991-02-13 11.3501

1991-02-14 11.37

1991-02-15 11.3002

但是从 R 中我得到的是:

sqlQuery(DF_CN,'select top 5 [date],value from dbo.history')
date value
1 0011-02-19 11.16

2 0012-02-19 11.20

3 0013-02-19 11.35

4 0014-02-19 11.37

5 0015-02-19 11.30

当我尝试从表中选择所有数据时,这就是我得到的

sqlQuery(DF_CN,'select * from dbo.history')
Error in charToDate(x) :
character string is not in a standard unambiguous format

这可能与 SQL Server 的 yyyy-mm-dd 默认格式有关,如果我使用 CONVERT,我可以更改它,但这看起来像是一个 hack 和 SELECT * 不起作用。

我可以在 R 中做一些事情来识别 SQL Server 日期吗?

<小时/>

这让我抓狂 - 肯定有人以前见过这个 - SQL Server 输出和 R 正在读取的内容之间存在明显的脱节。

我正在使用 RStudio 0.98.1091 和 R x64 3.1.2。SQL Server 2014微软 SQL Server 管理工作室 12.0.2000.8Microsoft 数据访问组件 (MDAC) 6.1.7601.17514微软 MSXML 3.0 4.0 6.0微软 Internet Explorer 9.10.9200.17148微软.NET框架4.0.30319.18444操作系统6.1.7601

适用于 SQL Server 的 ODBC 驱动程序 11。

我的系统上的一切看起来都是最新的。

[date] 列的类型为 DATE,现在为 DATETIME。我现在明白了;

sqlQuery(DF_CN,('select * from dbo.history')

Error in as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format

看起来 SQL Server 设置和 R 设置之间存在一些脱节。

最佳答案

我通过使用 as.is 参数解决了这个问题:

sqlQuery(DF_CN,'select * from dbo.history',as.is=T)

然后直接在 R 中转换我需要的值。

关于sql-server - 来自 SQL Server 的日期的 RODBC 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27424470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com