当前位置: 首页 > 面试题库 >

r向SQL查询输入的闪亮日期范围

冯德宇
2023-03-14
问题内容

我下面有一个SQL查询,它很好。

 Select * from dbo.Employee where StartDate between '08/01/2014' and '08/31/2014' order by StartDate

我正在修改此查询,以便它从闪亮的UI(daterange)输入日期。

sqlQuery(myconn, paste("Select * from dbo.Employee where StartTime between", "'as.character(input$daterange[1])'", "and", "'as.character(input$daterange[2])'", "order by StartTime"))

我得到一个错误

[1,] "22007 241 [Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting date and/or time from character string."
[,2] "[RODBC] ERROR: Could not SQLExecDirect ' Select * from.....                                                 Where StartDate between 'as.character(input$daterange[1])' and 'as.character(input$daterange[2])' order by StartDate '"

不确定如何解决此查询,以便它需要从闪亮的UI中输入日期,需要帮助。


问题答案:

sub通过简单地使用正则表达式来使用函数来做到这一点:

my_date1 <- "08/01/2014"
my_date2 <- "08/31/2014"

my_query <- 'Select * from dbo.Employee where StartDate between DATE1 and DATE2 order by StartDate'
my_query <- sub("DATE1",my_date1,my_query);my_query <- sub("DATE2",my_date2,my_query)
# the result of your query is below
noquote(my_query)

# if you want the quotes for dates leave them there
my_query <- 'Select * from dbo.Employee where StartDate between "DATE1" and "DATE2" order by StartDate'
my_query <- sub("DATE1",my_date1,my_query);my_query <- sub("DATE2",my_date2,my_query)
# the result of your query is below
noquote(my_query)


# Now sub the inputs into those variables like so
my_query <- 'Select * from dbo.Employee where StartDate between DATE1 and DATE2 order by StartDate'
my_query <- sub("DATE1",input$daterange[1],my_query);my_query <- sub("DATE2",input$daterange[2],my_query)
noquote(my_query)


 类似资料:
  • 我的文档中有一个日期范围(使用日期对象)如下所示 我试图弄清楚如何构建一个查询来返回包含特定日期的所有事件,例如,像.... 如果查询显示类似这样的内容,但在Firestore查询限制下可能不可能出现这种情况。 因此,我一直在挠头几个小时,要么为此构建一个查询,要么以某种方式结构我的数据,以允许这样做。 这有可能吗?

  • 我有一个lucene查询,可以对索引字段进行全文搜索。我想将日期范围添加到此查询。 我找到了这个问题并在那里使用了答案:如何在日期之间搜索(Hibernate搜索)? 但当我想在两个日期之间获取数据时,它什么也不返回。我使用的是MSSQL数据库,日期字段的类型是datetime。但它在实体类中被注释为。 这是我的实体类: 这就是我进行全文搜索的地方: 有两种不同的查询。一个是在指定字段上进行全文通

  • 问题内容: 最近我被告知,在SQL中使用该方法有些不可靠,因此我应该使用。但是,另一位程序员告诉我不是这种情况,只要日期格式正确,该方法就可以在所有情况下出色地工作。 请有人通过说明哪种方法更好以及为什么来解决这场辩论。 目前,我的日期范围SQL如下所示: 但是,如果可以确定它是可靠的,我宁愿这样写: 在这种情况下,我使用的是MsSQL,但是我已经标记了MySQL,因为我想知道这在这里是否也适用

  • 问题内容: 我正在使用SQLite。 假设我有一个带有两列的表格,和,以跟踪该日期我卖出了几杯柠檬水。如果我在某一天不卖柠檬水,那我会很沮丧以至于无法在表格中创建新的一行。 我想找出在给定日期范围内售出的平均眼镜数量。我可以发出这样的查询: 但是,除非表中包含该范围内的所有日期,否则结果将不准确。我需要某种方法告诉SQLite将丢失的行计为零。 我想如果可以在某个日期范围内加入销售表,那将是理想的

  • 我需要帮助查询与日期范围的长收集。请参阅下面的示例文档。我想用日期范围查询startTime字段。

  • 问题内容: 我有一张可以容纳一年中所有天/月的表 例如 我有一张表格,显示来自不同数据集的日期范围 例如 我如何比较这两个表以显示该特定月份的数据集中缺少哪些日期 对于上面示例中的数据集所在的示例,EG缺少日期范围01/09/2013-19/09/2013 谢谢你的帮助! 问题答案: 您可以使用CTE并通过以下方式编写查询: