代码之家  ›  专栏  ›  技术社区  ›  Pentium10

我能在ContentResolver列查询上运行SQL函数吗?

  •  3
  • Pentium10  · 技术社区  · 15 年前

    我想知道在查询ContentProvider时,Android的ContentResolver是否支持在列上使用SQL函数。例如sqlite3日期函数,获取特定的日期格式,还是datediff?

    你对这件事了解多少?

    1 回复  |  直到 15 年前
        1
  •  11
  •   CommonsWare    15 年前

    不,即使你发现它在某些情况下是有效的,你也不能假设它是全面有效的。

    ContentProvider 是一个正面。给定的 内容提供者 可能使用sqlite。它可能使用XML文件。它可能使用JSON文件。它可能使用csv文件。它可能使用一些第三方SQL数据库。它可能使用一些第三方对象数据库。它可能没有太多的本地内容,而是将其内容放到云端,通过Web服务调用访问。你甚至不能确定 内容提供者 必须支持经典SQL WHERE 子句--一些支持XML的 内容提供者 可能改用XQuery语法。

    因此,你绝对不能依赖 内容提供者 甚至知道什么 datediff 是。