我使用TypeORM来运行这个查询:
SELECT "subagreementlog"."created_at" AS "subagreementlog_created_at" FROM "subagreement_logs" "subagreementlog" WHERE "subagreementlog"."subagreement_id" = $1 AND "subagreementlog"."created_at" > $2 LIMIT 1 -- PARAMETERS: ["0d71866e-3b78-4321-8ae8-dc39ffe82dbc","2020-11-12T13:57:16.618Z"]我正在寻找一个记录,其中"created_at“值大于"2020-11-12T13:57:16.618Z”,但实际上返回的值与我所说的等于或大于。
result is: { subagreementlog_created_at: 2020-11-12T13:57:16.618Z }寻求关于为什么会是这样的指导。
此外,以下是实体中上述字段的定义
@CreateDateColumn({ name: "created_at" })
@Field(_ => GraphQLISODateTime, {
description: "Timestamp the subagreement was changed"
})
public createdAt!: Date;发布于 2020-12-04 04:07:15
您是否尝试过增加参数值?例如,而不是
2020-11-12T13:57:16.618Z尝试2020-11-12T13:57:17.618Z (+1秒)
我相信你仍然会得到一个匹配,即使数据清楚地在参数之前。
如果得到匹配,我怀疑正在发生的情况是,您将数据存储在一个时区(很可能是UTC),但是使用本地时间作为参数。我不知道TypeORM,但也许它在读和写时转换时区,但不转换参数。
只是猜测,但我希望这能帮上忙。
https://stackoverflow.com/questions/65137522
复制相似问题