Entity SQL 参考

本节包含 Entity SQL 参考主题。 本主题总结 Entity SQL 运算符并按类别对其分组。

算术运算符

算术运算符对两个表达式执行数学运算,这两个表达式可以是一个或多个数值数据类型。 下表列出了 Entity SQL 算术运算符。

运算符 用途

+(加)

加法。

/(除)

除法。

%(取模)

返回除法运算的余数。

*(乘)

乘法。

-(负号)

求反。

-(减)

减法。

规范函数

所有数据提供程序都支持规范函数,并且所有查询技术都可以使用规范函数。 下表列出了规范函数。

函数 类型

聚合 Entity SQL 规范函数

讨论 Entity SQL 聚合规范函数。

数学规范函数

讨论 Entity SQL 数学规范函数。

字符串规范函数

讨论 Entity SQL 字符串规范函数。

日期和时间规范函数

讨论 Entity SQL 日期和时间规范函数。

按位规范函数

讨论 Entity SQL 按位规范函数。

其他规范函数

讨论未分类为按位、日期/时间、字符串、数字或聚合函数的函数。

比较运算符

比较运算符适用于下列类型:ByteInt16Int32Int64DoubleSingleDecimalStringDateTimeDateTimeDateTimeOffset。 应用比较运算符之前将对操作数进行隐性类型升级。 比较运算符总是生成布尔值。 如果操作数中至少有一个 null,则结果为 null

相等和不相等适用于有标识的所有对象类型,如 Boolean 类型。 拥有相同标识的非基元对象被视为相等。 下表列出了 Entity SQL 比较运算符。

运算符 说明

=(等于)

比较两个表达式是否相等。

>(大于)

比较两个表达式以确定左侧表达式的值是否大于右侧表达式的值。

>=(大于或等于)

比较两个表达式以确定左侧表达式的值是否大于或等于右侧表达式的值。

IS [NOT] NULL

确定查询表达式是否为 null。

<(小于)

比较两个表达式以确定左侧表达式的值是否小于右侧表达式的值。

<=(小于或等于)

比较两个表达式以确定左侧表达式的值是否小于或等于右侧表达式的值。

[NOT] BETWEEN

确定表达式的结果值是否在指定范围内。

!=(不等于)

比较两个表达式以确定左侧表达式是否不等于右侧表达式。

[NOT] LIKE

确定特定字符串是否与指定的模式匹配。

逻辑和 Case 表达式运算符

逻辑运算符测试条件的真实性。 CASE 表达式计算一组布尔表达式的值以确定结果。 下表列出了逻辑和 Case 表达式运算符。

运算符 说明

&&(逻辑与)

逻辑与。

! (逻辑非)

逻辑非。

||(逻辑或)

逻辑或。

CASE

求出一组布尔表达式的值以确定结果。

ELSE

指定 Entity SQL 语句的执行条件。

THEN

WHEN 子句取值为 true 时的结果。

WHEN

求出一个或多个布尔表达式的值。

查询运算符

查询运算符用于定义返回实体数据的查询表达式。 下表列出了查询运算符。

运算符 用途

FROM

指定 SELECT 语句中使用的集合。

GROUP BY

指定由查询 (SELECT) 表达式返回的对象要分入的组。

GroupPartition

返回从聚合与之相关的组分区提取的参数值集合。

HAVING

指定组或聚合的搜索条件。

LIMIT

ORDER BY 子句一起使用,以执行物理分页。

ORDER BY

指定用于 SELECT 语句所返回的对象的排序顺序。

SELECT

指定投影中由查询返回的元素。

SKIP

ORDER BY 子句一起使用,以执行物理分页。

TOP

指定查询结果中将只返回第一组行。

WHERE

按条件筛选由查询返回的数据。

引用运算符

引用是指向特定实体集中的特定实体的逻辑指针(外键)。 Entity SQL 支持使用以下运算符对引用进行构造、解构和导航:

运算符 用途

CREATEREF

创建对实体集中的实体的引用。

DEREF

取消引用一个引用值,并生成该取消引用的结果。

KEY

提取引用或实体表达式的键。

NAVIGATE

使您可以从一个实体类型到另一个实体类型对关系进行导航

REF

返回对实体实例的引用。

集合运算符

Entity SQL 提供了各种功能强大的集运算符。 这包括与 Transact-SQL 运算符类似的集运算符,例如 UNION、INTERSECT、EXCEPT 和 EXISTS。 Entity SQL 还支持用于清除重复项 (SET)、成员身份测试 (IN) 和联接 (JOIN) 的运算符。 下表列出了 Entity SQL 集运算符。

运算符 用途

ANYELEMENT

从多值集合中提取元素。

EXCEPT

返回由 EXCEPT 操作数左侧的查询表达式返回而不由 EXCEPT 操作数右侧的查询表达式返回的任何非重复值的集合。

[NOT] EXISTS

确定集合是否为空。

FLATTEN

将一个由多个集合组成的集合转换为一个平展集合。

[NOT] IN

确定某个值是否与某个集合中的任何值匹配。

INTERSECT

返回 INTERSECT 操作数左右两边的两个查询表达式均返回的所有非重复值的集合。

OVERLAPS

确定两个集合是否具有公共元素。

SET

用于通过生成一个新集合(其中移除了所有重复元素)将对象集合转换为一个集。

UNION

将两个或更多查询的结果组合成单个集合。

类型运算符

Entity SQL 提供了用于构造、查询和操作表达式(值)的类型的运算。 下表列出了用于处理类型的运算符。

运算符 用途

CAST

将一种数据类型的表达式转换为另一种数据类型的表达式。

COLLECTION

用于 FUNCTION 操作中,以声明实体类型或复杂类型的集合。

IS [NOT] OF

确定表达式的类型是否为指定类型或指定类型的某个子类型。

OFTYPE

从查询表达式返回特定类型的对象集合。

命名类型构造函数

用于创建实体类型或复杂类型的实例。

MULTISET

根据值列表创建多集的实例。

ROW

从一个或多个值构造结构上类型化的匿名记录。

TREAT

将特定基类型的对象视为指定派生类型的对象。

其他运算符

下表列出了其他 Entity SQL 运算符。

运算符 用途

+(字符串串联)

用于在 Entity SQL 中串联字符串。

. (成员访问)

用于访问结构化概念模型类型实例的属性或字段的值。

--(注释)

包括 Entity SQL 注释。

FUNCTION

定义可在 Entity SQL 查询中执行的内联函数。

另请参见

概念

Entity SQL 语言