我正在使用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,但可能它在读写时转换时区,但不转换参数。
只是猜测,但我希望它能有所帮助。