编辑表达式 expression

编辑表达式需要手动输入条件以形成规则。利用此模式,可使用高级函数,这些函数允许您处理用于执行特定查询(如处理日期、字符串、数字字段、排序等)的值。

使用表达式编辑器 edit

表达式编辑器可从查询建模器​ 编辑表达式 ​按钮获得,在配置自定义条件时,该按钮可用于​ 属性 ​和​ ​字段。

从​ 属性 ​字段访问
从​ ​字段访问
{modal="regular"}
{modal="regular"}

表达式编辑器提供:

  • 定义了表达式的​输入字段(1)
  • 可用​ 字段(2) ​的列表,这些字段可用于表达式中,并与查询的架构(也称为定向维度)相对应。
  • 辅助函数 (3),按类别排序。

通过直接在输入字段中输入表达式来编辑表达式。要添加字段或辅助函数,请将光标置于要添加该字段或辅助函数的表达式中,然后单击 + 按钮。

{modal="regular"}

表达式就绪后,单击​ 确认 ​按钮。 表达式将显示在所选字段中。 要对其进行编辑,请打开表达式编辑器并进行所需的更改。

以下示例显示为​ ​字段配置的表达式。 要编辑它,您需要使用​ 编辑表达式 ​按钮打开表达式编辑器。

{modal="regular"}

辅助函数

利用查询编辑工具,可使用高级函数根据所需结果和所处理数据的类型执行复杂筛选。可以使用以下函数:

日期

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

Google BigQuery
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4
名称 描述 句法 示例
AddYears 将指定的年数添加到提供的日期时间。 AddYears(<日期时间>, <数字>) AddYears("2019-12-25 15:30:00", 3)
AddMonths 将指定的月数添加到提供的日期时间。 AddMonths(<日期时间>, <数字>) AddMonths("2019-12-25 15:30:00", 6)
AddDays 将指定的天数添加到提供的日期时间。 AddDays(<日期时间>, <数字>) AddDays("2019-12-25 15:30:00", 10)
AddHours 将指定的小时数添加到提供的日期时间。 AddHours(<日期时间>, <数字>) AddHours("2019-12-25 15:30:00", 3)
AddMinutes 将指定的分钟数添加到提供的日期时间。 AddMinutes(<日期时间>, <数字>) AddMinutes("2019-12-25 15:30:00", 32)
AddSeconds 将指定的秒数添加到提供的日期时间。 AddSeconds(<日期时间>, <数字>) AddSeconds("2019-12-25 15:30:00", 37)
SubYears 将指定的年数减去提供的日期时间。 SubYears(<日期时间>, <数字>) SubYears("2019-12-25 15:30:00", 3)
SubMonths 将指定的月数减去提供的日期时间。 SubMonths(<日期时间>, <数字>) SubMonths("2019-12-25 15:30:00", 6)
SubDays 将指定的天数减去提供的日期时间。 SubDays(<日期时间>, <数字>) SubDays("2019-12-25 15:30:00", 10)
SubHours 将指定的小时数减去提供的日期时间。 SubHours(<日期时间>, <数字>) SubHours("2019-12-25 15:30:00", 3)
SubMinutes 将指定的分钟数减去提供的日期时间。 SubMinutes(<日期时间>, <数字>) SubMinutes("2019-12-25 15:30:00", 32)
SubSeconds 将指定的秒数减去提供的日期时间。 SubSeconds(<日期时间>, <数字>) SubSeconds("2019-12-25 15:30:00", 37)
Year 从给定的datetime对象中提取年。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Month 从给定的datetime对象中提取月份。 Month(<日期时间>) 月份(“2019-12-15 15:30:00”)
Day 从给定的datetime对象中提取日。 Day(<日期时间>) Day("2019-12-15 15:30:00")
DayOfYear 从给定的datetime对象中提取每年的某一日。 例如,如果提供的日期时间是2月2日,则会返回33。 DayOfYear(<日期时间>) DayOfYear("2019-12-15 15:30:00")
WeekDay 从给定的datetime对象中提取星期几,作为0到6之间的数字,0表示星期日。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Hour 从给定的datetime对象中提取小时值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Minute 从给定的datetime对象中提取分钟值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Second 从给定的datetime对象中提取第二个值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
YearsDiff 查找给定日期时间之间的差异,粒度为年。 YearsDiff(<DATETIME>, <DATETIME>) YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
MonthsDiff 查找给定日期时间之间的差异,粒度为月。 MonthsDiff(<DATETIME>, <DATETIME>) MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
DaysDiff 查找给定日期时间之间的差异,粒度为天。 DaysDiff(<DATETIME>, <DATETIME>) DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
HoursDiff 查找给定日期时间之间的差异,粒度为小时。 HoursDiff(<DATETIME>, <DATETIME>) HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
MinutesDiff 查找给定日期时间之间的差异,粒度为分钟。 MinutesDiff(<DATETIME>, <DATETIME>) MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
SecondsDiff 查找给定日期时间之间的差异,粒度为秒。 SecondsDiff(<DATETIME>, <DATETIME>) SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
YearsOld 查找给定日期时间与当前日期时间之间的差值,粒度为年。 YearsOld(<日期时间>) YearsOld("2019-12-25 15:30:00")
MonthsOld 查找给定日期时间与当前日期时间之间的差值,粒度为月。 MonthsOld(<日期时间>) MonthsOld("2019-12-25 15:30:00")
DaysOld 查找给定日期时间与当前日期时间之间的差值,粒度为天。 DaysOld(<日期时间>) DaysOld("2019-12-25 15:30:00")
GetDate 获取服务器的当前日期。 GetDate() GetDate()
DateOnly 将日期时间截断为仅年、月、日。 DateOnly(<日期时间>) DateOnly("2019-12-25 15:30:00")
ToDate 将该字段转换为日期字段。 ToDate(<日期时间>) ToDate("2019-12-25 15:30:00")
ToDateTime 将该字段转换为日期时间字段。 ToDateTime(<日期>) ToDateTime("2019-12-25 15:30:00")
ToTimestamp 将该字段转换为时间戳字段。 ToTimestamp(<DATETIME>) ToTimestamp("2019-12-25 15:30:00")
Oldest 返回所提供的两个日期之间的最早日期。 Oldest(<日期时间>, <日期时间>) Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14")
TruncDate 根据给定的数字值,将日期时间截断为最接近的单位。 如果数字值等于60,则它会截断为最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 如果数字值等于86400,则它会截断为最接近的日期。 否则,它会截断到最接近的秒数。 TruncDate(<日期时间>, <数字>) TruncDate("2016-04-13 19:28:14", 3600)
TruncDateTZ 根据给定的数值将日期时间截断为最接近的单位,并将日期时间设置为指定的时区。 如果数字值等于60,则它会截断为最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 如果数字值等于86400,则它会截断为最接近的日期。 TruncDateTZ(<日期时间>, <数字>, <时区>>) TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles")
TruncTime 将日期时间设置为2000年1月1日,并根据给定的数值将日期时间的其余部分舍入到最接近的单位。如果数值等于60,则将截断到最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 TruncTime(<日期时间>, <数字>) TruncTime("2016-04-13 19:28:14", 3600)
TruncQuarter 将日期时间截断为最接近季度中的第一个日期。 TruncQuarter(<日期时间>) TruncQuarter("2016-04-13 19:28:14")
TruncYear 将日期时间截断为最近年份中的第一个日期。 TruncYear(<日期时间>) TruncYear("2016-04-13 19:28:14")
TruncWeek 将日期时间截断为最接近的周的星期日。 TruncWeek(<日期时间>) TruncWeek("2016-04-13 19:28:14")
Snowflake
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 41-row-4
名称 描述 句法 示例
AddYears 将指定的年数添加到提供的日期时间。 AddYears(<日期时间>, <数字>) AddYears("2019-12-25 15:30:00", 3)
AddMonths 将指定的月数添加到提供的日期时间。 AddMonths(<日期时间>, <数字>) AddMonths("2019-12-25 15:30:00", 6)
AddDays 将指定的天数添加到提供的日期时间。 AddDays(<日期时间>, <数字>) AddDays("2019-12-25 15:30:00", 10)
AddHours 将指定的小时数添加到提供的日期时间。 AddHours(<日期时间>, <数字>) AddHours("2019-12-25 15:30:00", 3)
AddMinutes 将指定的分钟数添加到提供的日期时间。 AddMinutes(<日期时间>, <数字>) AddMinutes("2019-12-25 15:30:00", 32)
AddSeconds 将指定的秒数添加到提供的日期时间。 AddSeconds(<日期时间>, <数字>) AddSeconds("2019-12-25 15:30:00", 37)
SubYears 将指定的年数减去提供的日期时间。 SubYears(<日期时间>, <数字>) SubYears("2019-12-25 15:30:00", 3)
SubMonths 将指定的月数减去提供的日期时间。 SubMonths(<日期时间>, <数字>) SubMonths("2019-12-25 15:30:00", 6)
SubDays 将指定的天数减去提供的日期时间。 SubDays(<日期时间>, <数字>) SubDays("2019-12-25 15:30:00", 10)
SubHours 将指定的小时数减去提供的日期时间。 SubHours(<日期时间>, <数字>) SubHours("2019-12-25 15:30:00", 3)
SubMinutes 将指定的分钟数减去提供的日期时间。 SubMinutes(<日期时间>, <数字>) SubMinutes("2019-12-25 15:30:00", 32)
SubSeconds AdSubtracts将指定的秒数减去提供的日期时间。 SubSeconds(<日期时间>, <数字>) SubSeconds("2019-12-25 15:30:00", 37)
Year 从给定的datetime对象中提取年。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Month 从给定的datetime对象中提取月份。 Month(<日期时间>) 月份(“2019-12-15 15:30:00”)
Day 从给定的datetime对象中提取日。 Day(<日期时间>) Day("2019-12-15 15:30:00")
DayOfYear 从给定的datetime对象中提取每年的某一日。 例如,如果提供的日期时间是2月2日,则会返回33。 DayOfYear(<日期时间>) DayOfYear("2019-12-15 15:30:00")
WeekDay 从给定的datetime对象中提取一周中的某天,以1到7之间的数字表示,1表示星期日。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Hour 从给定的datetime对象中提取小时值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Minute 从给定的datetime对象中提取分钟值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
Second 从给定的datetime对象中提取第二个值。 Year(<日期时间>) 年(“2019-12-15 15:30:00”)
YearsDiff 查找给定日期时间之间的差异,粒度为年。 YearsDiff(<DATETIME>, <DATETIME>) YearsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
MonthsDiff 查找给定日期时间之间的差异,粒度为月。 MonthsDiff(<DATETIME>, <DATETIME>) MonthsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
DaysDiff 查找给定日期时间之间的差异,粒度为天。 DaysDiff(<DATETIME>, <DATETIME>) DaysDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
HoursDiff 查找给定日期时间之间的差异,粒度为小时。 HoursDiff(<DATETIME>, <DATETIME>) HoursDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
MinutesDiff 查找给定日期时间之间的差异,粒度为分钟。 MinutesDiff(<DATETIME>, <DATETIME>) MinutesDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
SecondsDiff 查找给定日期时间之间的差异,粒度为秒。 SecondsDiff(<DATETIME>, <DATETIME>) SecondsDiff("2019-12-25 15:30:00", "2018-10-14 18:35:27")
MonthsOld 查找给定日期时间与当前日期时间之间的差值,粒度为月。 MonthsOld(<日期时间>) MonthsOld("2019-12-25 15:30:00")
DaysOld 查找给定日期时间与当前日期时间之间的差值,粒度为天。 DaysOld(<日期时间>) DaysOld("2019-12-25 15:30:00")
GetDate 获取服务器的当前日期。 GetDate() GetDate()
DateOnly 将日期时间截断为仅年、月、日。 DateOnly(<日期时间>) DateOnly("2019-12-25 15:30:00")
ToDate 将该字段转换为日期字段。 ToDate(<日期时间>) ToDate("2019-12-25 15:30:00")
ToDateTime 将该字段转换为日期时间字段。 ToDateTime(<日期>) ToDateTime("2019-12-25 15:30:00")
ToTimestamp 将该字段转换为时间戳字段。 ToTimestamp(<DATETIME>) ToTimestamp("2019-12-25 15:30:00")
Oldest 返回所提供的两个日期之间的最早日期。 Oldest(<日期时间>, <日期时间>) Oldest("2015-02-13 11:59:59", "2016-04-13 19:28:14")
TruncDate 根据给定的数字值,将日期时间截断为最接近的单位。 如果数字值等于60,则它会截断为最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 如果数字值等于86400,则它会截断为最接近的日期。 否则,它会截断到最接近的秒数。 TruncDate(<日期时间>, <数字>) TruncDate("2016-04-13 19:28:14", 3600)
TruncDateTZ 根据给定的数值将日期时间截断为最接近的单位,并将日期时间设置为指定的时区。 如果数字值等于60,则它会截断为最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 如果数字值等于86400,则它会截断为最接近的日期。 TruncDateTZ(<日期时间>, <数字>, <时区>>) TruncDateTZ("2016-04-13 19:28:14", 3600, "America/Los_Angeles")
TruncTime 将日期时间设置为2000年1月1日,并根据给定的数值将日期时间的其余部分舍入到最接近的单位。如果数值等于60,则将截断到最接近的分钟。 如果数字值等于3600,则会截断为最接近的小时。 TruncTime(<日期时间>, <数字>) TruncTime("2016-04-13 19:28:14", 3600)
TruncQuarter 将日期时间截断为最接近季度中的第一个日期。 TruncQuarter(<日期时间>) TruncQuarter("2016-04-13 19:28:14")
TruncYear 将日期时间截断为最近年份中的第一个日期。 TruncYear(<日期时间>) TruncYear("2016-04-13 19:28:14")
TruncWeek 将日期时间截断为最接近的周的星期日。 TruncWeek(<日期时间>) TruncWeek("2016-04-13 19:28:14")
ConvertNTZ 将没有时区的时间戳转换为具有时区的时间戳。 附加的时区将是外部帐户的时区。 ConvertNTZ(<日期时间>) ConvertNTZ("2024-06-24 14:43:49")
NOTE
请注意,Dateonly​函数考虑的是服务器的时区,而不是运算符的时区。

地理位置营销

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

Google BigQuery
table 0-row-4 1-row-4
名称 描述 句法 示例
Distance 返回由经度和纬度定义的两点之间的距离(以度为单位),以双精度形式表示。 Distance(<数字>, <数字>, <数字>, <数字>) 距离(40.345, 39.2345, -35.5834, 34.599)
Snowflake
table 0-row-4 1-row-4
名称 描述 句法 示例
Distance 返回由经度和纬度定义的两点之间的距离(以度为单位),以双精度形式表示。 Distance(<数字>, <数字>, <数字>, <数字>) 距离(40.345, 39.2345, -35.5834, 34.599)

数值

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

Google BigQuery
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4
名称 描述 句法 示例
Mod 返回第一个数字的余数除以第二个数字。 Mod(<数字>, <数字>) Mod (3, 2)
Percent 计算第一个数字占第二个数字的百分比。 Percent(<数字>, <数字>) 百分比(1, 2)
Random 返回介于0(包含)和1(不包含)之间的随机数。 Random() 随机()
Round 将提供的数字返回到请求的最接近的小数位。 Round(<数字>, <数字>) Round(4.5394, 2)
ToDouble 将提供的数字转换为双精度类型。 ToDouble(<数字>) ToDouble(5)
ToInteger 将提供的数字转换为整数。 ToInteger(<数字>) ToInteger(45)
ToInt64 将提供的数字转换为64位整数。 ToInt64(<数字>) ToInt64(493)
Trunc 将提供的数字截断为请求的小数位数。 Trunc(<数字>, <数字>) 中经(36.9348934, 3)
Snowflake
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4
名称 描述 句法 示例
Mod 返回第一个数字的余数除以第二个数字。 Mod(<数字>, <数字>) Mod (3, 2)
Percent 计算第一个数字占第二个数字的百分比。 Percent(<数字>, <数字>) 百分比(1, 2)
Random 返回介于0(包含)和1(不包含)之间的随机数。 Random() 随机()
ToDouble 将提供的数字转换为双精度类型。 ToDouble(<数字>) ToDouble(5)
ToInteger 将提供的数字转换为整数。 ToInteger(<数字>) ToInteger(45)
ToInt64 将提供的数字转换为64位整数。 ToInt64(<数字>) ToInt64(493)
Trunc 将提供的数字截断为请求的小数位数。 Trunc(<数字>, <数字>) 中经(36.9348934, 3)

其他

此表还包含其余一些可用的函数。

Google BigQuery
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4
名称 描述 句法 示例
Case 如果表达式为true,则返回第一个值。 否则,返回第二个值。 Case(When(<表达式> <值>), Else(<值>)) Case(当(a > b,“是”),Else(“否”))
When 用作Case函数的一部分。 用于检查Case中的表达式。 When(<表达式> <值>) 当(a > b,“是”)
Else 用作Case函数的一部分。 如果When表达式为false,用于选择另一个选项。 Else(<值>) 否则(“否”)
Coalesce 返回第一个非null值。 Coalesce(<值>, <值>) 合并(“”、“字符串”)
Decode 如果值相等,则返回第一个选项。 如果值不相等,则返回第二个选项。 Decode(<值>, <值>, <值>, <值>) Decode(1, 2, "true", "false")
GetEmailDomain 从提供的电子邮件地址提取域。 GetEmailDomain(<字符串>) GetEmailDomain("sample@example.com")
Iif 如果条件为true,则返回第一个选项;如果条件为false,则返回第二个选项。 Iif(<条件>, <值>, <值>) Iif(10 < 20, "true", "false")
IsEmptyString 如果字符串为空,则返回第一个选项。 否则,返回第二个选项。 IsEmptyString( <字符串> ,<值>, <值>) IsEmptyString("string", "yes", "no")
NewUUID 生成新的唯一UUID。 NewUUID() NewUUID()
NoNull 如果提供的字符串不为空,则返回该字符串;如果提供的字符串为空,则返回空字符串。 NoNull(<字符串>) NoNull(“测试”)
IsBitSet 对提供的数字执行按位和(&)运算。 这使您可以检查第一个参数中的位是否被设置在第二个参数中提供的位置。 IsBitSet(<数字>, <数字>) IsBitSet(5, 3)
ClearBit 这样,您便可以在第二个参数中提供的位置清除第一个参数中的位。 ClearBit(<数字>, <数字>)
SetBit 对提供的数字执行按位或(|)。 这允许您设置第一个参数中的位,该位被设置在第二个参数中提供的位置。 SetBit(<数字>, <数字>) SetBit(5, 3)
RowId 返回行号。 RowId() RowId()
ToBoolean 将值转换为布尔值。 ToBoolean(<值>) ToBoolean(a=b)
Snowflake
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4
名称 描述 句法 示例
Case 如果表达式为true,则返回第一个值。 否则,返回第二个值。 Case(When(<表达式> <值>), Else(<值>)) Case(当(a > b,“是”),Else(“否”))
When 用作Case函数的一部分。 用于检查Case中的表达式。 When(<表达式> <值>) 当(a > b,“是”)
Else 用作Case函数的一部分。 如果When表达式为false,用于选择另一个选项。 Else(<值>) 否则(“否”)
GetEmailDomain 从提供的电子邮件地址提取域。 GetEmailDomain(<字符串>) GetEmailDomain("sample@example.com")
Iif 如果条件为true,则返回第一个选项;如果条件为false,则返回第二个选项。 Iif(<条件>, <值>, <值>) Iif(10 < 20, "true", "false")
IsEmptyString 如果字符串为空,则返回第一个选项。 否则,返回第二个选项。 IsEmptyString( <字符串> ,<值>, <值>) IsEmptyString("string", "yes", "no")
ToBoolean 如果值为true,则返回1。 如果值为false,则返回0。 ToBoolean(<值>) ToBoolean(a=b)
ToBooleanType 将值转换为布尔值。 ToBooleanType(<值>) ToBooleanType(a=b)
IsBitSet 对提供的数字执行按位和(&)运算。 这使您可以检查第一个参数中的位是否被设置在第二个参数中提供的位置。 IsBitSet(<数字>, <数字>) IsBitSet(5, 3)
ClearBit 这样,您便可以在第二个参数中提供的位置清除第一个参数中的位。 ClearBit(<数字>, <数字>)
SetBit 对提供的数字执行按位或(|)。 这允许您设置第一个参数中的位,该位被设置在第二个参数中提供的位置。 SetBit(<数字>, <数字>) SetBit(5, 3)
RowId 返回行号。 RowId() RowId()
NewUUID 生成新的唯一UUID。 NewUUID() NewUUID()
NoNull 如果提供的字符串不为空,则返回该字符串;如果提供的字符串为空,则返回空字符串。 NoNull(<字符串>) NoNull(“测试”)
AESEncrypt 使用AES加密类型加密提供的字符串。 AESEncrypt() AESEncrypt(“hello”)
对象构造 根据提供的键/值对创建对象。 ObjectConstruct(<字符串>, <字符串>) ObjectConstruct("key", "value")

字符串

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

Google BigQuery
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4
名称 描述 句法 示例
AllNonNull2 接受两个字符串并检查它们是否全部不为null且不为空。 AllNonNull2(<字符串>, <字符串>) AllNonNull2(", "string2")
AllNonNull3 接受三个字符串并检查它们是否全部不为null且不为空 AllNonNull3(<字符串>, <字符串>, <字符串>) AllNonNull3(", "one", "three")
Ascii 采用一个字符串并返回结果。 Ascii(<字符串>) Ascii (“foo”)
Char 采用一系列Unicode代码点并返回生成的字符串。 Char(<数组>) Char([65, 68, 79, 66, 69])
Charindex 查找指定子字符串在主字符串中的第一次出现。 Charindex(<字符串>, <子字符串>) Charindex ("bar@example.com", "@")
dataLength 返回字符串中的字节数。 dataLength(<字符串>) dataLength("My string")
GetLine 返回所提供的字符串中请求的行。 GetLine(<字符串>, <数字>) GetLine(multilinestring, 5)
IfEquals 如果前两个字符串相等,则接受四个字符串并返回第三个字符串;如果前两个字符串不相等,则返回第四个字符串。 IfEquals(<字符串>, <字符串>, <字符串>, <字符串>) IfEquals("a", "a", "yes", "no")
IsMemoNull 如果字符串为null,则返回1,否则返回0。 IsMemoNull(<字符串>) IsMemoNull("hello")
JuxtWords 采用两个字符串并将它们组合为一个字符串。 如果需要,字符串之间会添加空格。 JuxtWords(<字符串>, <字符串>) JuxtWords(“Hello”、“World”)
JuxtWords3 采用三个字符串并将它们组合为一个字符串。 如果需要,字符串之间会添加空格。 JuxtWords3(<字符串>, <字符串>, <字符串>) JuxtWords3(“Hello”、“New”、“World”)
Left 采用一个字符串并按指定返回最左侧的字符。 Left(<字符串>, <数字>) Left(“Substring”, 3)
Length 返回字符串的长度。 Length(<字符串>) Length("MyString")
Md5Digest 将MD5散列字符串转换为十六进制表示形式。 Md5Digest(<字符串>) Md5Digest("String")
MemoContains 检查字符串是否包含提供的子字符串。 MemoContains(<字符串>, <字符串>) MemoContains("string", "str")
Right 采用一个字符串并按指定返回最右边的字符。 Right(<字符串>, <数字>) 右(“Substring”, 3)
Smart 返回字符串,每个单词的首字母均大写。 Smart(<字符串>) Smart(“hello world”)
Substring 获取一个字符串并根据给定的位置返回所提供的字符串的一部分。 Substring(<字符串>, <左边数字>, RIGHT_NUMBER>) Substring("Substring", 3, 5)
Sha256Digest 将SHA256散列字符串转换为十六进制表示形式。 Sha256Digest(<字符串>) Sha256Digest(“字符串”)
Sha512Digest 将SHA512散列字符串转换为十六进制表示形式。 Sha512Digest(<字符串>) Sha512Digest(“字符串”)
ToString 以字符串形式返回值。 ToString(<值>) ToString(123)
Snowflake
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4
名称 描述 句法 示例
AllNonNull2 接受两个字符串并检查它们是否全部不为null且不为空。 AllNonNull2(<字符串>, <字符串>) AllNonNull2(", "string2")
AllNonNull3 接受三个字符串并检查它们是否全部不为null且不为空 AllNonNull3(<字符串>, <字符串>, <字符串>) AllNonNull3(", "one", "three")
Char 采用一系列Unicode代码点并返回生成的字符串。 Char(<数组>) Char([65, 68, 79, 66, 69])
Charindex 查找指定子字符串在主字符串中的第一次出现。 Charindex(<字符串>, <子字符串>) Charindex ("bar@example.com", "@")
dataLength 返回字符串中的字节数。 dataLength(<字符串>) dataLength("My string")
GetLine 返回所提供的字符串中请求的行。 GetLine(<字符串>, <数字>) GetLine(multilinestring, 5)
IfEquals 如果前两个字符串相等,则接受四个字符串并返回第三个字符串;如果前两个字符串不相等,则返回第四个字符串。 IfEquals(<字符串>, <字符串>, <字符串>, <字符串>) IfEquals("a", "a", "yes", "no")
IsMemoNull 如果字符串为null,则返回1,否则返回0。 IsMemoNull(<字符串>) IsMemoNull("hello")
JuxtWords 采用两个字符串并将它们组合为一个字符串。 如果需要,字符串之间会添加空格。 JuxtWords(<字符串>, <字符串>) JuxtWords(“Hello”、“World”)
JuxtWords3 采用三个字符串并将它们组合为一个字符串。 如果需要,字符串之间会添加空格。 JuxtWords3(<字符串>, <字符串>, <字符串>) JuxtWords3(“Hello”、“New”、“World”)
Left 采用一个字符串并按指定返回最左侧的字符。 Left(<字符串>, <数字>) Left(“Substring”, 3)
Length 返回字符串的长度。 Length(<字符串>) Length("MyString")
返回字符串中的指定编号行。 Line(<字符串>, <数字>) Line(multilinestring, 5)
Md5Digest 将MD5散列字符串转换为十六进制表示形式。 Md5Digest(<字符串>) Md5Digest("String")
Replace 采用一个字符串并将子字符串的所有实例替换为替换子字符串。 Replace(<字符串>, <字符串&gt, <字符串&gt) Replace(“Captain Steve”、“Captain”、“Engineer”)
Right 采用一个字符串并按指定返回最右边的字符。 Right(<字符串>, <数字>) 右(“Substring”, 3)
Sha256Digest 将SHA256散列字符串转换为十六进制表示形式。 Sha256Digest(<字符串>) Sha256Digest(“字符串”)
Sha512Digest 将SHA512散列字符串转换为十六进制表示形式。 Sha512Digest(<字符串>) Sha512Digest(“字符串”)
Smart 返回字符串,每个单词的首字母均大写。 Smart(<字符串>) Smart(“hello world”)
ToString 以字符串形式返回值。 ToString(<值>) ToString(123)

窗口

Google BigQuery
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4
名称 描述 句法 示例
RowNum 根据表分区和排序序列返回行序列。 RowNum(PartitionBy(<表达式>), OrderBy(<表达式>)) RowNum(PartitionBy(division), OrderBy(time))
PartitionBy 根据给定的表达式,将输入行分隔为不同的分区。 PartitionBy(<表达式>) PartitionBy(除)
OrderBy 对分区结果进行排序。 OrderBy(<表达式>) OrderBy(age)
Desc 允许OrderBy按降序排序,而不是按升序排序。 Desc(OrderBy(<表达式>)) Desc(OrderBy(age))
Snowflake
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4
名称 描述 句法 示例
RowNum 根据表分区和排序序列返回行序列。 RowNum(PartitionBy(<表达式>), OrderBy(<表达式>)) RowNum(PartitionBy(division), OrderBy(time))
PartitionBy 根据给定的表达式,将输入行分隔为不同的分区。 PartitionBy(<表达式>) PartitionBy(除)
OrderBy 对分区结果进行排序。 OrderBy(<表达式>) OrderBy(age)
Desc 允许OrderBy按降序排序,而不是按升序排序。 Desc(OrderBy(<表达式>)) Desc(OrderBy(age))
recommendation-more-help
fadff0d9-29d0-4d44-99a6-2499b0b7778b