编辑表达式 expression
编辑表达式需要手动输入条件以形成规则。利用此模式,可使用高级函数,这些函数允许您处理用于执行特定查询(如处理日期、字符串、数字字段、排序等)的值。
使用表达式编辑器 edit
表达式编辑器可从查询建模器 编辑表达式 按钮获得,在配置自定义条件时,该按钮可用于 属性 和 值 字段。
从 属性 字段访问
从 值 字段访问
表达式编辑器提供:
- 定义了表达式的输入字段(1)。
- 可用 字段(2) 的列表,这些字段可用于表达式中,并与查询的架构(也称为定向维度)相对应。
- 辅助函数 (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 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(<字符串>, <字符串>, <字符串>) | 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