【问题标题】:SQL Server Finding date in between [closed]SQL Server 查找介于 [关闭] 之间的日期
【发布时间】:2023-01-30 22:52:48
【问题描述】:

我有如下表, Table

Value Start Date End Date
10 30-Jun-15 30-Jun-16
20 30-Jun-16 31-Oct-16

如果我要求开始日期作为“2016 年 7 月 31 日”和结束日期作为“2016 年 8 月 31 日”, 我只需要在上表中获取第 2 行(表中的第二行)。

如果我要求开始日期作为“2015 年 8 月 31 日”和结束日期作为“2016 年 8 月 31 日”, 我需要获取上表中的所有两行(表中的所有行)。

我如何在 SQL Server 中实现这一点?

【问题讨论】:

  • “我如何在 SQL Server 中实现这一点。”SELECT...FROM...WHERE。你试过什么?为什么它不起作用?
  • 在按日期筛选后,您是否只想获得两条最高记录?
  • 我怎样才能从和到日期?
  • 嗨,弗兰克,我在表中有很多行只是想用日期过滤

标签: sql sql-server datetime


【解决方案1】:

你可以这样做

SELECT TOP(2) Id, Column1, Column2 FROM tblname
WHERE DateColumn >= '2015-08-31' AND DateColumn <= '2022-08-31'  order by DateColumn DESC

这将提取两个日期之间的所有记录

您可以在 select 子句中使用 TOP(2) 以仅获取前 2 条记录

【讨论】:

  • TOP必须为您想要的“顶部”行数设置一个值。 TOP * 不是有效语法。
  • 是的,您可以添加 TOP(2) 以获得前 2 条记录
  • 如果看第二行它有 '30-Jun-16' 到 '31-Oct-16' ,您好表日期不仅是一个月。
  • 为什么不根据用户选择的时间范围从原始数据中实时计算/计数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
相关资源
最近更新 更多