- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已使用 DBI::dbGetQuery
将数据提取到 SQL Server 中的临时表中.
即使在实际查询(不是下面的播放查询)中,我select convert(date, date_value) as date_value
,日期仍然存储为字符。
然后我尝试使用 lubridate::ymd
来改变表示日期的字符,但是我收到一条消息说
date_value not found
convert(date, date_value)
和
as.Date
无济于事。
require(dplyr)
if (dbExistsTable(con, "##temp", catalog_name = "tempdb")){
dbRemoveTable(con, "##temp")
}
DBI::dbGetQuery(con, paste(
"select
convert(date, '2013-05-25') as date_value
into ##temp
"))
tbl(con, "##temp")
# Error - date_value not found
tbl(con, "##temp") %>% mutate(date_value= lubridate::ymd(date_value))
# this works
tbl(con, "##temp") %>% mutate(temp= date_value)
# this doesn't work - date value not found
tbl(con, "##temp") %>% mutate(temp= lubridate::ymd(date_value))
select
convert(date, '2013-05-25') as date_value
into #hello
select *
from #hello
exec tempdb..sp_help #hello
show_query()
的结果
最佳答案
几个月前,我正在寻找使用的解决方案 lubridate
功能 + dplyr
在 PostgreSQL 上失败。偶然地,我在 dbplyr
上找到了直接使用 DBMS 函数的简单解决方案。编码。
抱歉,我将使用 PostgreSQL 示例,因为我不了解 SQL 服务器功能。在本例中,我将在 PostgreSQL DBMS 中创建一个时态表,然后我将使用函数 to_date()
计算一个新列。由 PostgreSQL 提供。结果是正在寻找的日期:
# Easy example on postgreSQL
library(tidyverse)
library(dbplyr)
library(RPostgreSQL)
con <- dbConnect(PostgreSQL(),
dbname="postgre",
host="localhost",
port=5432,
user="user",
password="pass")
date <- data_frame(date_str = c("20180212", "20180213"))
dbWriteTable(con, "tmp", date, temporary = TRUE)
tbl(con, "tmp") %>%
# The DBMS function is used here
mutate(date = to_date(date_str, "YYYYMMDD")) %>%
# Finally, I collect the data from database to R session
collect()
#># A tibble: 2 x 3
#> row.names date_str date
#>* <chr> <chr> <date>
#>1 1 20180212 2018-02-12
#>2 2 20180213 2018-02-13
SQL Server
,以及
CAST()
函数可以将您的字符串转换为日期,如
answer 中所述.我希望这对你有帮助。
dplyr/dbplyr
可以翻译
lubridate
函数到
SQL
查询。
关于r - dbplyr 将字符更改为临时表中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48654069/
什么是 dbplyr相当于DBI::dbSendQuery(con, "DELETE FROM WHERE ")的动词组合. 我想要的不是从数据库中查询数据,而是从数据库中删除数据和更新表。 我想在
我已使用 DBI::dbGetQuery 将数据提取到 SQL Server 中的临时表中. 即使在实际查询(不是下面的播放查询)中,我select convert(date, date_value)
用户有一个大表(3+ 十亿行)。 为了加快接下来几个月的查询速度,必须在远程数据库上创建索引。 假设有一个名为 conn 的连接- 创建索引并使其在与数据库断开连接后仍然存在的最佳方法是什么。 例如。
这个问题在这里已经有了答案: Pass SQL functions in dplyr filter function on database (2 个回答) 26 天前关闭。 我通常使用 filter
我正在尝试使用 str_detect , str_replace , str_replace_all dbplyr 中的方法与 oracle作为 beckend 数据库,但似乎无法访问此方法。 这是错
假设我想创建一个函数,该函数可以使用用户传递的任何函数来改变列。我需要知道如何在该函数到达 dbplyr 解析器之前引用和取消引用该函数。让我们看一个例子,假设我有一个这样的函数: testFun
我正在尝试将本地数据帧从 R 复制到我的 db2 数据库。我有权写入表,并且我已验证连接正常。 我正在使用: copy_to(connection, data.frame, name = my_tab
我正在尝试将本地数据帧从 R 复制到我的 db2 数据库。我有权写入表,并且我已验证连接正常。 我正在使用: copy_to(connection, data.frame, name = my_tab
我正在使用 dbplyr 包中的 in_schema() 函数在 R 的 postgresql 数据库的命名模式中创建表。 这不是一段新代码,它曾经按预期工作 = 在模式“my_schema”中创建一
函数 dbplyr::in_schema() 无法连接到大写字母的表。 当我在 PostgreSQL 中创建表时。 CREATE TABLE public."OCLOC" ( cod_ocloc
我想使用 dbplyr/dplyr 创建组级聚合变量。这是命令的要点: q = tbl_copy %>% group_by(group_var) %>% mutate(x_agg = min(
我正在使用 dbplyr 处理数据库表 我有一个本地表,想将它与数据库中的一个大表(150m 行)连接起来 数据库PRODUCTION是只读的 # Set up the connection and
我有一个非常简单的问题会产生错误。例子将清除这个。 library(odbc) library(DBI) library(dplyr) library(dbplyr) con % group_by
我有一个关于如何在 dbplyr SQL 翻译中使用 eval(parse(text=...)) 的问题。以下代码完全按照我想要的方式使用 dplyr 使用 eval(parse(text=eval_
我有一个关于如何在 dbplyr SQL 翻译中使用 eval(parse(text=...)) 的问题。以下代码完全按照我想要的方式使用 dplyr 使用 eval(parse(text=eval_
我正在尝试通过平均将分钟级别的时间序列数据聚合到每小时级别。 为了做到这一点,我想计算一个小时列,其中包含读取发生的日期和时间。然后我可以做一个简单的 group_by summarise。例如,我的
我目前可以通过 beeline CLI 访问 Apache Hive 数据库。我们仍在与 IT 协商以在服务器上获取 R。在那之前,我想 (ab) 使用 R dbplyr 包在另一台机器上生成 SQL
dbplyr 非常方便,因为它将 dplyr 代码转换为 SQL。这非常有效,除非它没有。例如,我试图通过将字符串与列中的值部分匹配来对行进行子集化。除了 postgres 之外,似乎这还没有在 db
我连接到我们的数据库: con <- dbConnect(odbc::odbc(), "myHive") 我知道这是成功的,因为当我运行它时,在 RStudio 的右上角我可以看到我们所有的数据库和表
我正在写一个 Shiny 的仪表板。要加载数据,我正在使用相当于 mydata % tbl('table1') %>% filter(position %in% in.posi
我是一名优秀的程序员,十分优秀!