Show Menu
主题×

函数列表

关于函数

利用查询编辑工具,可使用高级函数进行复杂筛选。为实现此目的,工具面板提供了可用于工作区的 Expression 元素。有关此元素的详细信息,请参阅 特定章节
利用此元素,可手动输入条件。您可以在此使用以下部分中定义的函数。
根据所需结果和操作数据的类型,可使用以下几种函数类型:
  • 日期
  • 地理位置营销
  • 数值
  • 其他函数
  • 聚合
  • 字符串处理
  • 排序
所有活动中都提供其他函数,这些函数允许您在调用具有外部参数的工作流后使用事件变量。 本节详细介绍 了这些方法

日期

日期函数用于操作日期或时间值。
名称 说明 语法
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","Asia/Tehran") 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(<日期>)

地理位置营销

利用地理位置营销函数来操作地理值。
名称 说明 语法
Distance 返回由经度和纬度定义的两点之间的公里距离(以度表示) Distance(<经度 A>, <纬度 A>, <经度 B>, <纬度 B>)

数值

数值函数用于将文本转换为数字。
名称 说明 语法
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>)

其他

此表格还包含其余一些可用的函数。
名称 说明 语法
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

字符串

字符串函数用于操作一系列字符串。
名称 说明 语法
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(<字符串>, <字符串>, <字符串>) 例如:encryption_aescbcEncrypt(johndoe@example.com, " \x0123456789ABCDEF0123456789ABCDEF ", " \x0123456789ABCDEFFEDCBA9876543210 ")

聚合

只有从工作流的 Query 活动 添加其他数据 时,聚合函数才可用。
聚合函数用于对一组值执行计算。
名称 说明 语法
Avg ,Average 返回数值列中的平均值。 Avg(<值>)
Count ,Count (except NULL) 计算列中的非空值。 Count(<值>)
CountAll , Count all 计算所有值(包括 null 值和重复项)。 CountAll()
Countdistinct , Distinct count 计算列中非空的不同值。 Countdistinct(<值>)
Max , Max 返回数字、字符串或日期列中的最大值。 Max(<值>)
Min , Min 返回数字、字符串或日期列中的最小值。 Min(<值>)
Sum , Sum 返回数值列中值的和。 Sum(<值>)

表示

表示函数用于对值进行排序。
名称 说明 语法
Desc 应用降序排序 Desc(<值 1>)
OrderBy 对分区中的结果进行排序 OrderBy(<值 1>)
PartitionBy 对表格上的查询结果进行分区 PartitionBy(<值 1>)
RowNum 根据表分区和排序序列生成行号。MySQL 不支持此函数 RowNum(PartitionBy(<值 1>), OrderBy(<值 1>))