TypeORM:TypeORM如何比较时间戳



我正在使用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";值大于"0";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-11-12T13:57:16.618Z尝试22020-11-12T13:57:17.618Z(+1秒(

我相信,即使数据明显在参数之前,你仍然会得到匹配。

如果您得到匹配,我怀疑发生的情况是您将数据存储在一个时区(可能是UTC(,但使用本地时间作为参数。我不知道TypeORM,但可能它在读写时转换时区,但不转换参数。

只是猜测,但我希望它能有所帮助。

最新更新