SELECT 语句

下面显示了本地查询的 SELECT 语句的基本语法:

SELECT [TOP <positive integer>] <columns>
FROM [machinename.]SystemIndex
[WHERE <conditions>]
[ORDER BY <column>] 
            

下面显示了 SELECT 语句语法的列部分:

SELECT [TOP <positive integer>] <column> [ {, <column>} ...]

() 的列说明符必须是有效的属性名称列,用逗号分隔。 有效的列名称是注册的属性说明,或者由 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') 

概念性

强制转换列的数据类型

其他资源

系统属性