处理日期并连接dplyr(SQL)中的字符串

克卢斯

我有一个带有YEARDOY(一年中的某天)列的数据库我想添加一个额外的列DATE,例如

mutate(data, DATE = date(julianday(YEAR || '-01-01'), '+'||(DOY-1)||' day')) 

但这不起作用,可能是因为SQL字符串串联为“ ||” 转换为“ OR”。你会怎么做?

在另一种情况下,我必须在SQL日期对象中转换字符串。在RI将使用lubridateymd是否有同样简单的方式与做mutate在dplyr(SQL)?

克里斯托夫

G.格洛腾迪克

mutate 在dplyr中修改结果,但不修改您要收集的数据库中的表。

这个问题没有说明正在使用哪个数据库,这很重要,但是下面没有使用该SQLite。

1)这是使用RSQLite包使用更新DF数据库中表的代码DATE(DOY-1)可能需要DOY根据的来源(0或1)来代替DOY您可能还需要强制转换DOY为整数,但是在我的运行中,它没有这样做。

library(RSQLite)

# create test database with a table DF
con <- dbConnect(SQLite())
DF <- data.frame(YEAR = 2014, DOY = 15)
dbWriteTable(con, "DF", DF)

# add DATE column to table DF and update its value
dbGetQuery(con, "alter table DF add column DATE")
dbGetQuery(con, "update DF 
                 set DATE = date(cast(YEAR as integer) || '-01-01', DOY || ' days')")

给予:

dbGetQuery(con, "select * from DF")
##   YEAR DOY       DATE
## 1 2014  15 2014-01-16

2)如果您只想修改结果而不是数据库本身,则假定使用SQLite,请重试一次:

library(dplyr)
library(RSQLite)

# create database and add table DF to it
db <- src_sqlite(path = tempfile(), create = TRUE) # test database
DF <- data.frame(YEAR = 2014, DOY = 15) # test data
dbWriteTable(db$con, "DF", DF)

db_DF <- tbl(db, "DF")
db_DF %>% 
      mutate(DATE = sql("date(cast(YEAR as integer) || '-01-01', DOY || ' days')"))

更新(1)使用RSQLite并修改数据库。(2)使用dplyr而不使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在TypeScript中处理ISO日期字符串?

来自分类Dev

Powershell 连接字符串中的 MSSQl 'GO' 处理

来自分类Dev

连接字符串到日期的转换

来自分类Dev

在ASP.NET WebAPI中添加处理SQL连接字符串的方法的适当位置在哪里

来自分类Dev

在ASP.NET WebAPI中添加处理SQL连接字符串的方法的适当位置在哪里

来自分类Dev

来自DateTimePicker的SQL字符串中的日期

来自分类Dev

修复SQL Server中的日期时间字符串

来自分类Dev

Web服务C#中的SQL连接字符串

来自分类Dev

从Java中的连接SQL字符串移至PreparedStatement

来自分类Dev

Julia ODBC中SQL Server的连接字符串

来自分类Dev

Powershell中的SQL连接字符串错误

来自分类Dev

用SQL Server连接字符串中的值

来自分类Dev

在 SQL 中处理以“00”开头的字符串

来自分类Dev

用常量日期字符串替换 SQL 字符串中的静态子字符串

来自分类Dev

Big Query SQL连接或链接管道字符串或字符串数组中的值

来自分类Dev

dplyr中的字符串操作/聚合

来自分类Dev

dplyr中的快速字符串计数

来自分类Dev

SQL Server:如何将字符串常量与日期连接?

来自分类Dev

T-SQL连接并转换字符串为日期时间

来自分类Dev

SQL按日期从连接的月份和年份字符串中排序

来自分类Dev

在sqlite求和字符串中连接字符串

来自分类Dev

将连接字符串存储在字符串中

来自分类Dev

在sqlite求和字符串中连接字符串

来自分类Dev

在字符串检测中处理空字符串

来自分类Dev

SQL Server日期格式从字符串

来自分类Dev

SQL 日期时间或字符串

来自分类Dev

加密SQL连接字符串

来自分类Dev

Web服务-SQL连接字符串

来自分类Dev

SQL Server连接字符串的麻烦

Related 相关文章

热门标签

归档