运算符
Power Query M 公式语言包括可在表达式中使用的一组运算符。 将运算符运用于操作数即形成符号表达式。 例如,在表达式 1 + 2 中,数字 1 和 2 是操作数,而运算符是加法运算符 (+)。
运算符的含义可以根据操作数值的类型而变化。 该语言具有以下运算符:
加法运算符 (+)
表达式 | 等于 |
---|---|
1 + 2 | 数值相加:3 |
#time(12,23,0) + #duration(0,0,2,0) | 时间运算:#time(12,25,0) |
组合运算符 (&)
函数 | 等于 |
---|---|
"A" & "BC" | 文本串联:“ABC” |
{1} & {2, 3} | 列表串联:{1, 2, 3} |
[ a = 1 ] & [ b = 2 ] | 记录合并:[a = 1, b = 2] |
M 运算符列表
普通运算符(适用于 NULL、逻辑值、数字、时间、日期、datetime、datetimezone、duration、text、binary)
操作员 | 说明 |
---|---|
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
= | 等于 |
<> | 不等于 |
逻辑运算符(用于补充普通运算符)
操作员 | 说明 |
---|---|
or | 条件逻辑或 |
和 | 条件逻辑和 |
not | 逻辑非 |
数字运算符(用于补充通用运算符外)
操作员 | 说明 |
---|---|
+ | 和 |
- | 差 |
* | 产品 |
/ | 商 |
+x | 一元加 |
-X | 否定 |
文本运算符(用于补充通用运算符外)
操作员 | 说明 |
---|---|
& | 串联 |
列表、记录、表运算符
操作员 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
& | 串联 |
记录查找运算符
操作员 | 说明 |
---|---|
[] | 按名称访问记录的字段。 |
列表索引器运算符
操作员 | 说明 |
---|---|
{} | 按从零开始的数字索引访问列表中的项。 |
类型兼容性和断言运算符
操作员 | 说明 |
---|---|
是 | 如果 x 的类型与 y 兼容,则表达式 x is y 返回 true;如果 x 的类型与 y 不兼容,则返回 false。 |
as | 表达式 x as y 断言,根据 is 运算符,值 x 与 y 兼容。 |
日期运算符
运算符 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y | time | duration | 持续时间的日期偏移 |
x + y | duration | time | 持续时间的日期偏移 |
x - y | time | duration | 求反持续时间的日期偏移 |
x - y | time | time | 日期之间的持续时间 |
x & y | date | time | 合并的 DateTime |
Datetime 运算符
运算符 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y | datetime | duration | 持续时间的日期时间偏移 |
x + y | duration | datetime | 持续时间的日期时间偏移 |
x - y | datetime | duration | 求反持续时间的日期时间偏移 |
x - y | datetime | datetime | 日期时间之间的持续时间 |
Datetimezone 运算符
运算符 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y | datetimezone | duration | 持续时间的 Datetimezone 偏移 |
x + y | duration | datetimezone | 持续时间的 Datetimezone 偏移 |
x - y | datetimezone | duration | 求反持续时间的 Datetimezone 偏移 |
x - y | datetimezone | datetimezone | datetimezone 之间的持续时间 |
运算符
运算符 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y | datetime | duration | 持续时间的日期时间偏移 |
x + y | duration | datetime | 持续时间的日期时间偏移 |
x + y | duration | duration | 持续时间之和 |
x - y | datetime | duration | 求反持续时间的日期时间偏移 |
x - y | datetime | datetime | 日期时间之间的持续时间 |
x - y | duration | duration | 持续时间之差 |
x * y | duration | number | 持续时间的 N 倍 |
x * y | number | duration | 持续时间的 N 倍 |
x / y | duration | number | 持续时间的分数 |
备注
运算符不一定支持某些值的组合。 如果表达式在计算时遇到未定义的运算符条件,计算结果将为错误。 有关 M 中错误的详细信息,请转到错误
错误示例::
函数 | 等于 |
---|---|
1 + "2" | 错误:不支持添加数字和文本 |