mysql - 编写 SQL 查询日期范围以从已知结束日期检索开始日期

标签 mysql sql

这标题听起来很糟糕,但它让我难住了。场景是我需要编写一个查询,该查询将从财政月开始日期列中获取分钟(开始日期)。该数据集(查询)将在 SQL 报表生成器中运行,我需要构建查询,以便当有人想要时,他们可以通过选择以下任一者来检索数据:当前月份、3 个月或 6 个月。作为构建查询的新手,我在理解如何将整个查询结合在一起方面遇到了问题。以下是查询现在的样子:

 SELECT *
   from date_Table  
     where(
      Select fiscal_date
         from date_table
           where full_date >= TO_DATE('5/8/2015 12:00:00 AM',      'mm/dd/yyyy HH:MI:SS AM'));

所以我可以编写一个返回开始日期的查询,问题是我需要日期为从今天起 6 个月并从该月的第一天开始,结束日期是今天或昨天。

希望大家能够帮忙。

最佳答案

为此声明变量并尝试这个

declare @running_for datetime;
 set @running_for = getdate();

SELECT *
   from date_Table  
     where(
      Select fiscal_date 
         from date_table d
  where 
 (datepart(m,d.full_date) = DATEPART(m, DATEADD(m, -6, getdate())))
  and 
  d.full_date <= @running_for-1   --- if it is yesterday
// d.full_date <= @running_for --- if it is today

关于mysql - 编写 SQL 查询日期范围以从已知结束日期检索开始日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767316/

相关文章:

java - 如何自动生成Java文件?

php - MySQL 表未更新,但 PHP 回显已添加的记录

java - 在另一个表中获取最少使用的 id

mysql - 当2个表的列名相同时如何获取2个表的数据

sql - sql查询中的动态列

sql - 使用 1 个带 3 个外键的联结表或 2 个共享排序的联结表?

PHP/MySQL 从数据库生成多维关联数组

php - 防止在 mySQL 中选择同一行

php - DBO 选择等于和喜欢的地方

mysql - 更新具有连接行的表