postgresql - 在 postgresql 中不使用 typeorm 的 typescript 之间的日期时间
问题描述
我想检索给定日期时间范围之间的数据。当我尝试从 DBeaver 工具中检索数据时,它会返回所有数据。这是我的查询尝试
SELECT id, "vehicleNo", "vehicleClass", "issuedOn", "modifiedOn", "paidOn","ticketStatusId"
FROM public.ticket where "paidOn" >= '2019-04-16 02:30:00 AM' and "paidOn" <= '2019-04-16 11:30:00 AM';
但是当我使用 typeorm 时,它不会返回所有数据这里是我的 typeorm 代码
const records = await getConnection().getRepository(Ticket)
.createQueryBuilder("ticket")
.innerJoinAndSelect("ticket.ticketStatus", "ticketStatus")
.where(`ticket.paidOn >= :startDate AND ticket.paidOn <= :endDate
AND ticket.modifiedBy = :email AND ticketStatus.title = :status `,
{ startDate: fromDate, endDate: toDate, email: uemail, status: "Paid"})
.orderBy("ticket.paidOn", "DESC")
.getMany();
解决方案
import { startOfDay, endOfDay } from 'date-fns';
import { Between, Equal } from "typeorm";
//...
let findArgs = {
where:{
date: Between(startOfDay(webInputArgs.date).toISOString(), endOfDay(webInputArgs.date).toISOString()),
userId: Equal(ctx.req.session.userId)
}
};
return entity.find(findArgs) as any;
推荐阅读
- visual-studio - 在 for 循环中使用 Instantiate 时 Unity 崩溃
- bash - 使用管道查找 xargs grep 不适用于 MacO
- r - 使用R匹配后提取不同的字符串
- groovy - 如何通过 Jmeter 中的后处理器在日志中打印会话 ID
- node.js - 显示来自 ngFor 的详细帖子
- php - 使标题顶部中心的文本不向左的最佳方法是什么
- python - 防止在 Geonode 上使用相同的登录凭据进行多次登录
- java - Spring Cloud Function 部署为 Azure 功能:日志记录?
- c++ - Cmath 无缘无故地产生 230 多个错误
- c++ - 仅在基于范围的循环中迭代奇数(偶数)元素