函数列表 list-of-functions

关于函数 about-functions

利用查询编辑工具,可使用高级函数进行复杂筛选。为实现此目的,工具面板提供了可用于工作区的 Expression 元素。有关此元素的详细信息,请参阅特定章节

利用此元素,可手动输入条件。您可以在此使用以下部分中定义的函数。

根据所需结果和操作数据的类型,可使用以下几种函数类型:

  • 日期
  • 地理位置营销
  • 数值
  • 其他函数
  • 聚合
  • 字符串处理
  • 排序
NOTE
所有活动中都提供了其他函数,通过该函数,可在使用外部参数调用工作流后使用事件变量。 有关详情,请参阅 本节.

日期 dates

日期函数用于操作日期或时间值。

名称
说明
语法
AddDays
向日期添加天数
AddDays(<日期>, <数字>)
AddHours
向日期添加小时数
AddHours(<日期>, <数字>)
AddMinutes
向日期添加分钟数
AddMinutes(<日期>, <数字>)
AddMonths
向日期添加月数
AddMonths(<日期>, <数字>)
AddSeconds
向日期添加秒数
AddSeconds(<日期>, <数字>)
AddYears
向日期添加年数
AddYears(<日期>, <数字>)
DateOnly
仅返回日期(且时间为 00:00)
DateOnly(<日期>)
Day
返回表示日期天数的数字
Day(<日期>)
DayOfYear
返回表示年份和日期的数字
DayOfYear(<日期>)
DaysAgo
返回当前日期减 n 天
DaysAgo(<数字>)
DaysAgoInt
返回当前日期减 n 天(使用整数 yyyymmdd)
DaysAgoInt(<数字>)
DaysDiff
两个日期之间的天数差
DaysDiff(<结束日期>, <开始日期>)
DaysOld
返回日期的年龄(以天为单位)
DaysOld(<日期>)
GetDate
返回服务器的当前系统日期
GetDate()
Hour
返回日期的小时数
Hour(<日期>)
HoursDiff
返回两个日期之间的小时数之差
HoursDiff(<结束日期>, <开始日期>)
LocalToUTC
将本地日期和时间转换为 UTC 时区
LocalToUTC(<日期>, <时区>>)
Minute
返回日期的分钟数
Minute(<日期>)
MinutesDiff
返回两个日期之间的分钟数之差
MinutesDiff(<结束日期>, <开始日期>)
Month
返回表示日期月份的数字
Month(<日期>)
MonthsAgo
返回对应于当前日期 n 个月的日期
MonthsAgo(<数字>)
MonthsDiff
返回两个日期之间的月数之差
MonthsDiff(<结束日期>, <开始日期>)
MonthsOld
返回日期的年龄(以月为单位)
MonthsOld(<日期>)
Second
返回日期的秒数
Second(<日期>)
Oldest
返回最早的日期
Oldest(<日期>, <日期>)
SecondsDiff
返回两个日期之间的秒数之差
SecondsDiff(<结束日期>, <开始日期>)
SubDays
从日期减去天数
SubDays(<日期>, <数字>)
SubHours
从日期减去小时数
SubHours(<日期>, <数字>)
SubMinutes
从日期减去分钟数
SubMinutes(<日期>, <数字>)
SubMonths
从日期减去月数
SubMonths(<日期>, <数字>)
SubSeconds
从日期减去秒数
SubSeconds(<日期>, <数字>)
SubYears
从日期减去年数
SubYears(<日期>, <数字>)
ToDate
将日期+时间转换为日期
ToDate(<日期 + 时间>)
ToDateTime
将字符串转换为日期+时间
ToDateTime(<字符串>)
ToDateTimeWithTimezone
将字符串转换为日期+时区。
示例: ToDateTimeWithTimezone ("2019-02-19 08:09:00”、“亚洲/德黑兰”)
ToDateTimeWithTimezone(<字符串>)
TruncDate
将日期+时间舍入到最接近的秒数
TruncDate(@lastModified, <秒数>)
TruncDateTZ
将日期+时间舍入为以秒表示的精度
TruncDateTZ(<日期>, <秒数>, <时区>>)
TruncQuarter
将日期舍入到季度
TruncQuarter(<日期>)
TruncTime
将时间部分舍入到最接近的秒
TruncTime(<日期>, <秒数>)
TruncWeek
将日期舍入到周
TruncWeek(<日期>)
TruncYear
将日期+时间舍入到年度的 1 月 1 日
TruncYear(<日期>)
WeekDay
返回表示日期一周中某天的日期数字
WeekDay(<日期>)
Year
返回表示日期年份的数字
Year(<日期>)
YearAnd Month
返回表示日期的年份和月份的数字
YearAndMonth(<日期>)
YearsDiff
返回两个日期之间的年数之差
YearsDiff(<结束日期>, <开始日期>)
YearsOld
返回日期的年龄(以年为单位)
YearsOld(<日期>)

地理位置营销 geomarketing

利用地理位置营销函数来操作地理值。

名称
说明
语法
Distance
返回由经度和纬度定义的两点之间的公里距离(以度表示)
Distance(<经度 A>, <纬度 A>, <经度 B>, <纬度 B>)

数值 numerical

数值函数用于将文本转换为数字。

名称
说明
语法
Abs
返回数字的绝对值
Abs(<数字>)
Ceil
返回大于或等于某个数字的最小整数
Ceil(<数字>)
Floor
返回小于或等于某个数字的最大整数
Floor(<数字>)
Greatest
返回两个数字中的较大者
Greatest(<数字 1>, <数字 2>)
Least
返回两个数字中的较小者
Least(<数字 1>, <数字 2>)
Mod
返回从 n1 除以 n2 的整数除余数
Mod(<数字 1>, <数字 2>)
Percent
返回两个数字的比值,以百分比表示
Percent(<数字 1>, <数字 2>)
Random
返回随机值
Random()
Round
将数字舍入为 n 位小数
Round(<数字>, <小数>)
Sign
返回数字的符号
Sign(<数字>)
ToDouble
将整数转换为浮点
ToDouble(<数字>)
ToInt64
将浮点转换为 64 位整数
ToInt64(<数字>)
ToInteger
将浮点转换为整数
ToInteger(<数字>)
Trunc
将 n1 取整到 n2 位小数
Trunc(<n1>, <n2>)

其他 others

此表包含剩余的可用函数。

名称
说明
语法
Case
如果条件已验证,则返回值 1。否则,返回值 2
Case(When(<条件>, <值 1>), Else(<值 2>))
ClearBit
删除值中的标志
ClearBit(<标识符>, <标识>)
Coalesce
如果值 1 为 0 或 null,则返回值 2,否则返回值 1
Coalesce(<值 1>, <值 2>)
Decode
返回值 3 的条件是值 1 = 值 2,否则返回值 4
Decode(<值 1>, <值 2>, <值 3>, <值 4>)
Else
返回值 1(只能用作 case 函数的参数)
Else(<值 1>)
GetEmailDomain
从电子邮件地址提取域名
GetEmailDomain(<值>)
GetMirrorURL
检索镜像页面服务器的 URL
GetMirrorURL(<值>)
Iif
如果表达式为 true,则返回值 1,否则返回值 2
Iif(<条件>, <值 1>, <值 2>)
IsBitSet
指示标志是否在值中
IsBitSet(<标识符>, <标识>)
IsEmptyString
如果字符串为空,则返回值 2,否则返回值 3
IsEmptyString(<字符串>, <值 2>, <值 3>)
NoNull
如果参数为 NULL,则返回空字符串
NoNull(<值>)
RowId
返回行号
RowId
SetBit
强制将标志设在值中
SetBit(<标识符>, <标识>)
ToBoolean
将数字转换为布尔值
ToBoolean(<数字>)
When
如果验证了表达式,则返回值 1。否则,返回值 2(只能用作 case 函数的参数)
When(<条件>, <值 1>)
newUUID
返回新的 UUID。
newUUID

字符串 string

字符串函数用于操作一系列字符串。

名称
说明
语法
AllNonNull2
指示所有参数是否为非 null 且不为空
AllNonNull2(<字符串>, <字符串>)
AllNonNull3
指示所有参数是否为非 null 且不为空
AllNonNull3(<字符串>, <字符串>, <字符串>)
ASCII
返回字符串中第一个字符的 ASCII 值
Ascii(<字符串>)
Char
返回与 ASCII 代码"n"对应的字符
Char(<数字>)
Charindex
返回字符串 1 中字符串 2 的位置
Charindex(<字符串>, <字符串>)
DataLength
返回字符串中的字符数
DataLength(<字符串>)
GetLine
返回字符串的 n(从 1 到 n)行
GetLine(<字符串>)
IfEquals
如果前两个参数相等,则返回第三个参数,否则返回最后一个参数
IfEquals(<字符串>, <字符串>, <字符串>, <字符串>)
IsMemoNull
指示作为参数传递的 Memo 是否为 null
IsMemoNull(<Memo>)
JuxtWords
将作为参数传递的两个字符串连接起来。 返回值中的各个字符串之间会添加一个空格。
JuxtWords(<字符串>, <字符串>)
JuxtWords3
将作为参数传递的三个字符串连接起来。 返回值中的各个字符串之间会添加一个空格。
JuxtWords3(<字符串>, <字符串>, <字符串>)
LPad
返回左侧的已完成字符串
LPad(<字符串>, <数字>, <caractère>)
Left
返回字符串的前 n 个字符
Left(<字符串>, <数字>)
Length
返回字符串的长度
Length(<字符串>)
Lower
以小写形式返回字符串
Lower(<字符串>)
Ltrim
删除字符串左侧的空格
Ltrim(<字符串>)
Md5Digest
返回字符串以十六进制表示的 MD5 键值
Md5Digest(<字符串>)
MemoContains
指定 Memo 是否包含作为参数传递的字符串
MemoContains(<memo>, <字符串>)
RPad
返回右侧的已完成字符串
RPad(<字符串>, <数字>, <字符>)
Replace
将出现的所有指定字符串(第 2 个参数)值替换为字符串(第 1 个参数)中的另一个字符串值(第 3 个参数)
Replace(<字符串>, <字符串>, <字符串>)
Right
返回字符串的最后 n 个字符
Right(<字符串>)
Rtrim
删除字符串右侧的空格
Rtrim(<字符串>)
Sha256Digest
计算给定 UTF8 字符串的标准 SHA256 哈希
Sha256Digest(<字符串>)
Sha384Digest
计算给定 UTF8 字符串的标准 SHA384 哈希
Sha384Digest(<字符串>)
Sha512Digest
计算给定 UTF8 字符串的标准 SHA512 哈希
Sha512Digest(<字符串>)
Smart
以大写方式返回带每个单词的第一个字母的字符串
Smart(<字符串>)
Substring
提取从字符串的字符 n1 开始的、长度为 n2 的子字符串
Substring(<字符串>, <偏移>, <长度>)
ToIntlString
将数字转换为字符串
ToIntlString(<数字>)
ToString
将数字转换为字符串
ToString(<数字>)
Upper
返回以大写表示的字符串
Upper(<字符串>)
VirtualLink
如果其他两个参数相等,则返回作为参数传递的链接的外键
VirtualLink(<数字>, <数字>, <数字>)
VirtualLinkStr
如果其他两个参数相等,则返回作为参数传递的链接的外键(文本)
VirtualLinkStr(<字符串>, <数字>, <数字>)
encryption_aescbcDecrypt
使用十六进制格式的密钥(第 2 个参数)和用十六进制格式的初始化矢量(第 3 个参数),对以 "x" 为前缀的十六进制格式加密值(第 1 个参数)进行解密
encryption_aescbcDecrypt(<字符串>, <字符串>, <字符串>)
encryption_aescbcEncrypt
使用 AES 算法(CBC 块模式),用密钥(第 2 个参数)和初始化矢量(第 3 个参数)对字符串(第 1 个参数)进行加密。密钥和初始化矢量必须以十六进制表示形式提供(以 \x 开头)。结果将以十六进制表示,但不带 \x
请注意,密钥大小可以是 128 位、192 位、256 位(16、24、32 个十六进制字符),但建议您使用 256 位和与密钥长度相同的随机 IV。
encryption_aescbcEncrypt(<string>, <string>, <string>)
例如:encryption_aescbcEncrypt(johndoe@example.com, "\\x0123456789ABCDEF0123456789ABCDEF“, ”\\x0123456789ABCDEFFEDCBA9876543210")

聚合 aggregates

只有从工作流的 Query 活动添加其他数据时,聚合函数才可用。

聚合函数用于对一组值执行计算。

名称
说明
语法
Avg,Average
返回数值列中的平均值。
Avg(<值>)
Count,Count (except NULL)
计算列中的非空值。
Count(<值>)
CountAll, Count all
计算所有值(包括 null 值和重复项)。
CountAll()
Countdistinct, Distinct count
计算列中非空的不同值。
Countdistinct(<值>)
Max, Max
返回数字、字符串或日期列中的最大值。
Max(<值>)
Min, Min
返回数字、字符串或日期列中的最小值。
Min(<值>)
字符串聚合,字符串聚合
返回字符串类型列的值的连接,由第二个参数中的字符分隔(默认分隔符为逗号)。
StringAgg(<string values="">,<separator>)
Sum, Sum
返回数值列中值的和。
Sum(<值>)

呈现 representation

表示函数用于对值进行排序。

名称
说明
语法
Desc
应用降序排序
Desc(<值 1>)
OrderBy
对分区中的结果进行排序
OrderBy(<值 1>)
PartitionBy
对表格上的查询结果进行分区
PartitionBy(<值 1>)
RowNum
根据表分区和排序序列生成行号。MySQL 不支持此函数
RowNum(PartitionBy(<值 1>), OrderBy(<值 1>))
recommendation-more-help
3ef63344-7f3d-48f9-85ed-02bf569c4fff