如何在sqldf中添加时间数据类型?
how to add time datatype in sqldf?
下面是一个可重现的例子,我想添加 time+duration 和 return 一个对象作为时间格式,例如 9:00 + 35 我需要输出 9:35 和很快。那么在 sqldf 中执行此操作的最佳方法是什么。我知道如何使用 r 但需要在 sqldf 代码中做到这一点?任何帮助将不胜感激。
df <- data.frame(
author = c('Tom','Jerry', 'Nick'),
time = c('9:00','9:50','10:30'),
duration_min = c(35,30,20)
)
Using df
defined reproducibly in the end, assuming you want to use the default SQLite backend to sqldf
then use substr
to ensure the hours are in the 末尾形成 HH 而不仅仅是 H 然后使用 SQLite time function:
sqldf("select
*,
time(substr('0' || time, -5), duration_min || ' minutes') as time2
from df")
给予:
author time duration_min time2
1 Tom 9:00 35 09:35:00
2 Jerry 9:50 30 10:20:00
3 Nick 10:30 20 10:50:00
备注
请注意,我们必须使用等号而不是 <- 在将 df
的列定义为 author
等是 arguments 到 data.frame
.
df <- data.frame(
author = c('Tom','Jerry', 'Nick'),
time = c('9:00','9:50','10:30'),
duration_min = c(35,30,20))
下面是一个可重现的例子,我想添加 time+duration 和 return 一个对象作为时间格式,例如 9:00 + 35 我需要输出 9:35 和很快。那么在 sqldf 中执行此操作的最佳方法是什么。我知道如何使用 r 但需要在 sqldf 代码中做到这一点?任何帮助将不胜感激。
df <- data.frame(
author = c('Tom','Jerry', 'Nick'),
time = c('9:00','9:50','10:30'),
duration_min = c(35,30,20)
)
Using df
defined reproducibly in the end, assuming you want to use the default SQLite backend to sqldf
then use substr
to ensure the hours are in the 末尾形成 HH 而不仅仅是 H 然后使用 SQLite time function:
sqldf("select
*,
time(substr('0' || time, -5), duration_min || ' minutes') as time2
from df")
给予:
author time duration_min time2
1 Tom 9:00 35 09:35:00
2 Jerry 9:50 30 10:20:00
3 Nick 10:30 20 10:50:00
备注
请注意,我们必须使用等号而不是 <- 在将 df
的列定义为 author
等是 arguments 到 data.frame
.
df <- data.frame(
author = c('Tom','Jerry', 'Nick'),
time = c('9:00','9:50','10:30'),
duration_min = c(35,30,20))