SELECT 语句
下面显示了本地查询的 SELECT 语句的基本语法:
SELECT [TOP <positive integer>] <columns>
FROM [machinename.]SystemIndex
[WHERE <conditions>]
[ORDER BY <column>]
下面显示了 SELECT 语句语法的列部分:
SELECT [TOP <positive integer>] <column> [ {, <column>} ...]
列说明符(s)必须是有效的属性名称列,用逗号分隔。 有效的列名称是注册的属性说明,或由 Shell 的属性系统架构定义。 只能选择那些在属性系统架构中标记为可检索的列。 如果使用混合大小写来标识不是系统定义属性的属性,则必须用双引号将列说明符括起来。 系统定义的属性名称包括以“System”开头的所有属性(例如 System.Contact.FirstName),并且不需要引号。
注意
还可以将系统定义的属性名称括在双引号中,以便可读。 这不会影响兼容性。
当查询返回没有请求列的文档时,该文档的列的值 NULL。
必须在 SELECT 语句中至少提供一个列名。 在结构化查询语言 (SQL) 查询中,允许使用星号 \ 指定将返回表中的所有列。 但是,没有定义和固定的属性集适用于所有文档。 因此,SELECT 语句> 说明符 <列中不允许使用 SQL 星号。
获取前 n 个结果
可以使用 TOP 语法指定要返回的最大结果数:
SELECT TOP <positive integer> <column> [ {, <column>} ...]
强制转换列数据类型
有时,可能需要将从文档中提取的字符串数据强制转换为另一种数据类型,以便进行适当的比较。 有关详细信息,请参阅 强制转换列的数据类型。
例子
以下示例返回匹配文档的名称和 URL。
SELECT System.ItemName, System.ItemUrl FROM SystemIndex WHERE CONTAINS('Microsoft')
SELECT TOP 10 System.ItemName, System.ItemUrl FROM SystemIndex WHERE CONTAINS('Microsoft')
相关主题