当前位置: 首页 > 知识库问答 >
问题:

日期查询,用于选择当月的1号到3号,并与列进行比较

杨凌
2023-03-14

我有一个 azure 函数,它在每个月的 1 日至 3 日之间运行和执行分散的命令。我有一列“日期列”,它随着每行受影响的时间而更新。

所有行都有跨越每个月1日至3日的日期列表,我想检查此日期是否小于当月1日至3日,以确保每个月每行只受一次影响。

假设现在是2020年1月3日,我希望查询查看所有行并忽略本月已经更改的行,即datecolcolumn显示2020年1月1日或2日,并且只选择那些更改的行,并且上个月(2019年12月)的某个时间具有日期列值。

预期结果:本月1日至3日的日期。

我尝试过一些代码,但我得到了正确的日期,但它每年都会选择。

谢啦

DECLARE @startDate DATETIME=CAST(MONTH(GETDATE()) AS VARCHAR) + '/' + '1/' +  + CAST(YEAR(GETDATE()) AS VARCHAR) -- mm/dd/yyyy
DECLARE @endDate DATETIME=CAST(MONTH(GETDATE()) AS VARCHAR) + '/' + '3/' +  + CAST(YEAR(GETDATE()) AS VARCHAR)  -- mm/dd/yyyy

;WITH Calender AS 
(
    SELECT @startDate AS CalanderDate
    UNION ALL
    SELECT CalanderDate + 1 FROM Calender
    WHERE CalanderDate + 1 <= @endDate
)
 SELECT * FROM thetable where datecolumn BETWEEN @startDate AND @endDate

共有1个答案

方浩旷
2023-03-14

我会采取其他解决方案

SELECT whatever 
FROM thetable 
WHERE NOT (YEAR(datecolumn) = YEAR(GETDATE()) 
      AND MONTH(datecolumn) = MONTH(GETDATE()) 
      AND DAY(datecolumn) < 4)
 类似资料:
  • 我有一个JSON对象,它有几个日期,例如:15/12/2005或14/12/2012。 我需要将月份和日期与今天的月份和日期进行比较;年份无关紧要。我正在这样做: 这会选择日期,但返回2000-12-15。我只想要日期和月份。 什么时候会比较下一个方法 虽然当前日期匹配,但测试不通过。

  • 问题内容: 我需要一些帮助来编写MySQL查询,以显示上个月的行,但不显示整个月的行,仅显示直到现在的同一天,一小时和一分钟,直到now()为止,而仅显示一个月前。 因此,例如,如果今天是下午5:25的5/19,我需要选择4/19午夜12:00 am 4/1到5:25 pm的行(当然也要从同一年开始)。 谢谢! 问题答案: 您可以通过计算前一个月的last_day并添加一天来获得该月的第一天。这很

  • 我有一个应用程序,从一个api接收一些数据,我想比较它们,但不知道如何做。 来自api的日期在不同的模板中,加上它的字符串,所以我无法比较。 如果收到的日期早于当前日期,我想显示一条错误消息。 以下是api日期的来源(我已经在控制台上打印出来): 这是日期时间。现在在颤振: 有没有办法比较它们?

  • 我有一个和列在我的表中。所以我试图检查指定的日期是否在这两列的范围内。例如: from_date: 2021-08-26 to_date: 2021-08-29 date: 2021-08-27 我试图使用运算符,但是语法是从相同的列名中选择日期范围。 在我的例子中,我想从不同的列中选择日期范围,比如下面的查询示例。有没有办法做到这一点? 谢谢你!

  • 问题内容: 我有一些简单的查询: 你们都知道结果: 但是,我想从记录3中显示什么?我知道我可以做到,但是我需要将选择的记录设置在第一位,可以说我选择的结果如下: 或者 这可能吗? 问题答案: 这样您就可以得到: 按订单此外,如果你想休息有序,太。 解释: 该表达式的计算结果为boolean。(在mysql中为= 0)在(在mysql中为= 1 )之前进行排序,因此我们对降序进行排序。 它还可以自动

  • 我想从getdate()获取标题(yyyy-mm)中的日期格式,以便在where子句中使用它来获取