【问题标题】:How to create query to get data from the given month?如何创建查询以获取给定月份的数据?
【发布时间】:2020-10-25 11:13:05
【问题描述】:

我必须使用typeorm 从我的数据库中获取所有数据,但只有来自给定月份的这些数据。

在我的数据库中:

date-service: 2020-10-25

我尝试以这种方式创建查询,但它会返回所有数据,但我只需要来自给定月份的数据,我提供的就像一个完整的日期,所以 eq。如果我提供2020-09-10,那么我需要从9th 月获取所有数据。

我的查询:

const data = await this.conn.getRepository(Order).createQueryBuilder("order").getRawMany();

如何创建查询以仅获取给定月份的数据?

感谢您的回答

【问题讨论】:

    标签: javascript typescript nestjs typeorm


    【解决方案1】:

    我遇到了类似的问题。您可以为查询提供日期范围,例如使用 moment、date-fns 等从给定日期中提取的月份的开始日期和结束日期

    我通常在处理日期时使用 moment.js 非常棒。 https://momentjs.com/docs/#/manipulating/

    let date = 2020-09-10;
    
    const data = await this.conn.getRepository(Order)
        .createQueryBuilder("order")
        .where('date-service >= :after', { after: moment(date).startOf('month').format('YYYY-MM-DD') })
        .andWhere('date-service < :before', { before:  moment(date).endOf('month').format('YYYY-MM-DD') })
        .getRawMany();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多