【问题标题】:Select Objects with null values选择具有空值的对象
【发布时间】:2011-10-04 13:53:36
【问题描述】:

如何在 GQL 中仅选择具有空值的对象。我有一个对象,对于我的软件的新版本,我包含一个 LastUpdate 字段,并且我只想更新最旧的更新对象,但是当我使用“ORDER BY LastUpdate ASC”进行查询时,应该始终使用此查询! ,它总是只返回 LastUpdate 中具有某些值的对象。

如何将具有空值的对象包含在查询中?

【问题讨论】:

    标签: java google-app-engine gql gqlquery


    【解决方案1】:

    如果数据存储中的实体没有设置新属性,则无法对其进行查询

    实体将没有属性的null 值,该属性根本不存在,因此不会包含在您用于查询实体的任何索引中。找到需要更新的实体的唯一方法是映射所有实体并找到缺失值的实体。

    【讨论】:

      【解决方案2】:

      您对记录创建有多少控制权?您始终可以创建一条新记录,并将 LastUpdate 字段设置为与 RecordCreated 字段相同的值。这样该字段将永远不会为空,并且始终可以被查询。

      缺点:您还会获取很久以前创建且此后未更新的记录。

      【讨论】:

      • 我无法控制。记录是在旧版本的应用程序中创建的。
      • 是否可以扫描数据库,使用 RecordCreated 字段中的空 LastUpdated 字段更新所有记录?
      【解决方案3】:

      也许使用 NVL 包装器...NVL( LastUpdate, sysdate )

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多