Sr.No. | 函数名称和描述 |
1 |
Out():
获取从当前记录开始的相邻输出顶点作为顶点。
语法-out([<label-1>][,<label-n>]*)
|
2 |
In():
获取从当前记录开始的相邻传入顶点作为顶点。
语法-in([<label-1>][,<label-n>]*)
|
3 |
Both():
获取从当前记录开始的相邻出站和入站顶点作为顶点。
语法-both([<label1>][,<label-n>]*)
|
4 |
outE():
获取从当前记录开始的相邻出边作为顶点。
语法-outE([<label1>][,<label-n>]*)
|
5 |
inE():
获取从当前记录开始的相邻传入边作为顶点。
语法-inE([<label1>][,<label-n>]*)
|
6 |
bothE():
获取从当前记录开始的相邻传出和传入边作为顶点。
语法-bothE([<label1>][,<label-n>]*)
|
7 |
outV():
获取从当前记录开始的输出顶点作为边缘。
语法-outV()
|
8 |
inV():
从当前记录中获取传入的顶点作为边。
语法 − inV()
|
9 |
traversedElement():
返回遍历命令中遍历的元素。
语法 − traversedElement(<index> [,<items>])
|
10 |
traversedVertex():
返回遍历命令中的遍历顶点。
语法 − traversedVertex(<index> [,<items>])
|
11 |
traversedEdge():
返回遍历命令中的遍历边。
语法 − traversedEdge(<index> [,<items>])
|
12 |
shortestPath():
返回两个顶点之间的最短路径。方向可以是 OUT(默认)、IN 或 BOTH。
Synatx-shortestPath( <sourceVertex>, <destinationVertex> [, <direction> [, <edgeClassName>]])
|
13 |
dijkstra():
使用 Dijkstra 算法返回两个顶点之间最便宜的路径。
语法 − dijkstra(<sourceVertex>, <destinationVertex>, <weightEdgeFieldName> [, <direction>])
|
orientdb {db = demo}>SELECT out() from Vehicle
---+----------+--------- # | @class | out ---+----------+--------- 0 | Vehicle | #11:2 1 | Vehicle | #13:1 2 | Vehicle | #13:4 ---+----------+---------
orientdb {db = demo}>SELECT both() FROM #11:3
---+----------+--------+------- # | @class | out | in ---+----------+--------+------- 0 | Vehicle | #13:2 | #10:2 ---+----------+-------+-------
Sr.No. | 函数名称和描述 |
1 |
eval():
计算引号(或双引号)之间的表达式。
语法-eval('
<表达式>
')
表达式>
|
2 |
min():
返回最小值。如果使用多个参数调用,则返回所有参数之间的最小参数值。
语法 − min(<field> [, <field-n>]* )
|
3 |
max():
返回最大值。如果使用多个参数调用,则返回所有参数之间的最大值。
语法 − max(<field> [, <field-n>]* )
|
4 |
sum()
返回所有返回值的总和。
语法-sum(
<字段>
)
字段>
|
5 |
abs():
返回绝对值。它适用于 Integer、Long、Short、Double、Float、BigInteger、BigDecimal、null。
语法-abs(<field>)
|
6 |
avg():
返回平均值。
语法 − avg(<field> )
|
7 |
count():
统计符合查询条件的记录。如果不使用 * 作为字段,则只有当内容不为空时才会对记录进行计数。
语法 − count(<field>)
|
8 |
mode():
返回出现频率最高的值。计算中忽略空值。
语法-mode(<field>)
|
9 |
median():
返回中间值或表示对值排序后的中间值的内插值。计算中忽略空值。
语法-median(<field>)
|
10 |
percentile():
返回第 n 个百分位数。计算中忽略空值。
语法-percentile(<field> [, <quantile-n>]*)
|
11 |
variance()
返回中间方差:均值的平方差的平均值。
语法-variance(<field>)
|
12 |
stddev()
返回标准偏差:衡量值分布的程度。计算中忽略空值。
语法-stddev(<field>)
|
orientdb {db = demo}>SELECT SUM(salary) FROM Employee
---+----------+--------- # | @class | sum ---+----------+--------- 0 | null | 150000 ---+----------+---------
orientdb {db = demo}>SELECT avg(salary) FROM Employee
---+----------+--------- # | @class | avg ---+----------+--------- 0 | null | 25 ---+----------+---------
Sr.No. | 函数名称和描述 |
1 |
set():
向集合添加一个值。如果值是一个集合,则将其与集合合并,否则添加 <value>。
语法 − set(<field>)
|
2 |
map():
在第一次创建地图时向地图添加一个值。如果 <value> 是地图,然后它与映射合并,否则
语法-map(
|
3 |
ist():
在第一次创建列表时向列表添加一个值。如果 <value> 是一个集合,则将其与列表合并,否则将 <value> 添加到列表中。
语法 − list(<field>)
|
4 |
difference():
作为聚合或内联工作。如果只传递一个参数,则聚合,否则执行,并返回作为参数接收的集合之间的差异。
语法-difference(<field> [,<field-n>]*)
|
5 |
first():
仅检索多值字段(数组、集合和映射)的第一项。对于非多值类型,只返回值。
语法-first(<field>)
|
6 |
intersect():
作为聚合或内联工作。如果只传递一个参数,则聚合,否则执行并返回作为参数接收的集合的交互。
语法-intersect(<field> [,<field-n>]*)
|
7 |
distinct():
根据您指定为参数的字段仅检索唯一的数据条目。与标准 SQL DISTINCT 相比的主要区别在于,OrientDB 是一个带括号的函数,并且只能指定一个字段。
语法-distinct(<field>)
|
8 |
expand():
这个函数有两个含义-
在集合字段上使用时,它会展开该字段中的集合并将其用作结果。 在链接 (RID) 字段上使用时,它会扩展该链接指向的文档。
语法-expand(<field>)
|
9 |
unionall():
作为聚合或内联工作。如果只传递一个参数,则聚合,否则执行并返回作为参数接收的所有集合的 UNION。也适用于没有集合值。
语法-unionall(<field> [,<field-n>]*)
|
10 |
flatten():
提取字段中的集合并将其用作结果。已弃用,请改用 expand()。
语法-flatten(<field>)
|
11 |
last():
仅检索多值字段(数组、集合和映射)的最后一项。对于非多值类型,只返回值。
语法-last(<field>)
|
12 |
symmetricDifference():
作为聚合或内联工作。如果只传递一个参数,则聚合,否则执行并返回作为参数接收的集合之间的对称差异。
语法 − symmetricDifference(<field> [,<field-n>]*)
|
orientdb {db = demo}>SELECT ID, set(teacher.id) AS teacherID from classess where class_id = 9
---+----------+--------+-------------------------- # | @class | id | TeacherID ---+----------+--------+-------------------------- 0 | null | 9 | 1201, 1202, 1205, 1208 ---+----------+-------+---------------------------
Sr.No. | 函数名称和描述 |
1 |
date():
返回格式化字符串的日期。 <date-as-string> 是字符串格式的日期,<format> 是遵循这些规则的日期格式。
语法-date( <date-as-string> [
<格式>
] [,
<时区>
] )
时区>
格式>
|
2 |
sysdate():
返回当前日期和时间。
语法 − sysdate( [
<格式>
] [,
<时区>
] )
时区>
格式>
|
3 |
format():
使用 String.format() 约定格式化值。
语法 − 格式(
<格式>
[, ](,]*.md)
格式>
|
4 |
distance():
使用Haversine算法返回地球上两点之间的距离。坐标必须是度数。
语法 − distance( <x-field>, <y-field>, <x-value>, <y-value> )
|
5 |
ifnull():
返回传递的字段/值(或可选参数 return_value_if_not_null)。如果字段/值不为空,则返回 return_value_if_null。
<return_value_if_null> [,<return_value_if_not_null>](,<field&.md#124;value>]*)
|
6 |
coalesce():
返回第一个字段/值非空参数。如果没有字段/值不为空,则返回空值。
语法-Coalesce(<field|value> [, <field-n|value-n>]*)
|
7 |
uuid():
使用 Leach-Salz 变体生成一个 128 位值的 UUID。
语法-uuid()
|
8 |
if():
评估一个条件(第一个参数),如果条件为真则返回第二个参数,否则返回第三个参数。
语法 − if(<expression>, <result-if-true>, <result-if-false>)
|
orientdb {db = demo}> SELECT if(eval("name = 'satish'"), "My name is satish", "My name is not satish") FROM Employee
----+--------+----------------------- # |@class | if ----+--------+----------------------- 0 |null |My name is satish 1 |null |My name is not satish 2 |null |My name is not satish 3 |null |My name is not satish 4 |null |My name is not satish ----+--------+------------------------
orientdb {db = demo}> SELECT SYSDATE() FROM Employee
----+--------+----------------------- # |@class | SYSDATE ----+--------+----------------------- 0 |null |2016-02-10 12:05:06 1 |null |2016-02-10 12:05:06 2 |null |2016-02-10 12:05:06 3 |null |2016-02-10 12:05:06 4 |null |2016-02-10 12:05:06 ----+--------+------------------------