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
、logical
、number
、time
、date
、datetime
、datetimezone
、duration
、text
和binary
的常见运算符
操作员 | DESCRIPTION |
---|---|
> |
大于 |
>= |
大于或等于 |
< |
小于 |
<= |
小于或等于 |
= |
平等 |
<> |
不等于 |
?? |
空值合并 |
逻辑运算符 (除 Common 运算符外)
操作员 | DESCRIPTION |
---|---|
or |
条件逻辑 OR |
and |
条件逻辑 AND |
not |
逻辑 NOT |
数字运算符 (除 Common 运算符外)
操作员 | DESCRIPTION |
---|---|
+ |
总和 |
- |
差 |
* |
产品 |
/ |
商 |
+x |
一元加 |
-x |
否定 |
文本运算符 (除 通用运算符外)
操作员 | DESCRIPTION |
---|---|
& |
串联 |
列表、记录、表运算符
操作员 | DESCRIPTION |
---|---|
= |
平等 |
<> |
不等于 |
& |
串联 |
记录查找运算符
操作员 | DESCRIPTION |
---|---|
[] |
按名称访问记录的字段。 |
列表索引器运算符
操作员 | DESCRIPTION |
---|---|
{} |
按从零开始的数字索引访问列表中的项。 |
类型兼容性和断言运算符
操作员 | DESCRIPTION |
---|---|
is |
如果x 的类型与y 兼容,则表达式x is y 返回true ;如果x 的类型与y 不兼容,则返回false 。 |
as |
表达式x as y 断言该值x 与y is 运算符兼容。 |
日期运算符
操作员 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y |
time |
duration |
日期偏移量(按持续时间) |
x + y |
duration |
time |
日期偏移量(按持续时间) |
x - y |
time |
duration |
日期按否定时长计算偏移量 |
x - y |
time |
time |
日期之间的持续时间 |
x & y |
date |
time |
合并日期/时间 |
Datetime 运算符
操作员 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y |
datetime |
duration |
日期时间由于持续时间而偏移 |
x + y |
duration |
datetime |
日期时间由于持续时间而偏移 |
x - y |
datetime |
duration |
按否定持续时间的日期/时间偏移量 |
x - y |
datetime |
datetime |
日期/时间之间的时长 |
Datetimezone 运算符
操作员 | 左操作数 | 右操作数 | 含义 |
---|---|---|---|
x + y |
datetimezone |
duration |
日期时间区域偏移量(根据持续时间) |
x + y |
duration |
datetimezone |
日期时间区域偏移量(根据持续时间) |
x - y |
datetimezone |
duration |
Datetimezone 偏移量(按否定持续时间) |
x - y |
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" |
错误:不支持添加数字和文本 |