其他函数

REGEXP_REPLACE(字符串, 模式, 替换字符串)

返回给定字符串的副本,其中正则表达式模式被替换字符串取代。此函数可用于文本文件、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 数据源。

对于 Tableau 数据提取,模式和替换字符串必须为常量。

有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(Link opens in a new window)页面。

示例

REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123'

 

REGEXP_MATCH(字符串, 模式)

如果指定的字符串的子字符串匹配正则表达式模式,则返回 true。此函数可用于文本文件、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Impala 2.3.0(通过 Cloudera Hadoop 数据源)、Snowflake 和 Oracle 数据源。

对于 Tableau 数据提取,模式必须为常量。

有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(Link opens in a new window)页面。

示例

REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true

REGEXP_EXTRACT(string, pattern)

返回与正则表达式模式匹配的字符串部分。此函数可用于文本文件、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 数据源。

对于 Tableau 数据提取,模式必须为常量。

有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(Link opens in a new window)页面。

示例

REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123'

REGEXP_EXTRACT_NTH(string, pattern, index)

返回与正则表达式模式匹配的字符串部分。子字符串匹配到第 n 个捕获组,其中 n 是给定的索引。如果索引为 0,则返回整个字符串。此函数可用于文本文件、PostgreSQL、Tableau 数据提取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)和 Oracle 数据源。

对于 Tableau 数据提取,模式必须为常量。

有关正则表达式语法的信息,请参见数据源的文档。对于 Tableau 数据提取,正则表达式语法遵守 ICU(Unicode 国际化组件)的标准,ICU 是用于 Unicode 支持、软件国际化和软件全球化的成熟 C/C++ 和 Java 库开源项目。请参见在线 ICU 用户指南中的正则表达式(Link opens in a new window)页面。

示例

REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123'

Hadoop Hive 的特定函数

注意:只有 PARSE_URL 和 PARSE_URL_QUERY 函数可用于 Cloudera Impala 数据源。

GET_JSON_OBJECT(JSON 字符串, JSON 路径)

根据 JSON 路径返回 JSON 字符串中的 JSON 对象。

 

PARSE_URL(字符串, url_part)

返回给定 URL 字符串的组成部分(由 url_part 定义)。有效的 url_part 值包括:'HOST'、'PATH'、'QUERY'、'REF'、'PROTOCOL'、'AUTHORITY'、'FILE' 和 'USERINFO'。

示例

PARSE_URL('http://www.tableau.com', 'HOST') = 'www.tableau.com'

 

PARSE_URL_QUERY(字符串, 密钥)

返回给定 URL 字符串中的指定查询参数的值。查询参数由密钥定义。

示例

PARSE_URL_QUERY('http://www.tableau.com?page=1&cat=4', 'page') = '1'

 

 

XPATH_BOOLEAN(XML 字符串, XPath 表达式字符串)

如果 XPath 表达式匹配节点或计算为 true,则返回 true。

示例

XPATH_BOOLEAN('<values> <value id="0">1</value><value id="1">5</value>', 'values/value[@id="1"] = 5') = true

 

XPATH_DOUBLE(XML 字符串, XPath 表达式字符串)

返回 XPath 表达式的浮点值。

示例

XPATH_DOUBLE('<values><value>1.0</value><value>5.5</value> </values>', 'sum(value/*)') = 6.5

 

XPATH_FLOAT(XML 字符串, XPath 表达式字符串)

返回 XPath 表达式的浮点值。

示例

XPATH_FLOAT('<values><value>1.0</value><value>5.5</value> </values>','sum(value/*)') = 6.5

 

XPATH_INT(XML 字符串, XPath 表达式字符串)

返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。

示例

XPATH_INT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

 

XPATH_LONG(XML 字符串, XPath 表达式字符串)

返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。

示例

XPATH_LONG('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

 

XPATH_SHORT(XML 字符串, XPath 表达式字符串)

返回 Xpath 表达式的数值;或者,如果 Xpath 表达式无法计算为数字,则返回零。

示例

XPATH_SHORT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

XPATH_STRING(XML 字符串, XPath 表达式字符串)

返回第一个匹配节点的文本。

示例

XPATH_STRING('<sites ><url domain="org">http://www.w3.org</url> <url domain="com">http://www.tableau.com</url></sites>', 'sites/url[@domain="com"]') = 'http://www.tableau.com'

 

Google BigQuery 的特定函数

DOMAIN(string_url)

在给定 URL 字符串的情况下返回作为字符串的域。

示例

DOMAIN('http://www.google.com:80/index.html') = 'google.com'

 

GROUP_CONCAT(表达式)

将来自每个记录的值连接为一个由逗号分隔的字符串。此函数在处理字符串时的作用类似于 SUM()。

示例

GROUP_CONCAT(Region) = "Central,East,West"

 

HOST(string_url)

在给定 URL 字符串的情况下返回作为字符串的主机名。

示例

HOST('http://www.google.com:80/index.html') = 'www.google.com:80'

 

LOG2(数字)

返回数字的对数底 2。

示例

LOG2(16) = '4.00'

 

LTRIM_THIS(字符串, 字符串)

返回第一个字符串(移除了在前导位置出现的任何第二个字符串)。

示例

LTRIM_THIS('[-Sales-]','[-') = 'Sales-]'

 

RTRIM_THIS(字符串, 字符串)

返回第一个字符串(移除了在尾随位置出现的任何第二个字符串)。

示例

RTRIM_THIS('[-Market-]','-]') = '[-Market'

 

TIMESTAMP_TO_USEC(表达式)

将 TIMESTAMP 数据类型转换为 UNIX 时间戳(以微秒为单位)。

示例

TIMESTAMP_TO_USEC(#2012-10-01 01:02:03#)=1349053323000000

 

USEC_TO_TIMESTAMP(表达式)

将 UNIX 时间戳(以微秒为单位)转换为 TIMESTAMP 数据类型。

示例

USEC_TO_TIMESTAMP(1349053323000000) = #2012-10-01 01:02:03#

 

TLD(string_url)

在给定 URL 字符串的情况下返回顶层域以及 URL 中的任何国家/地区域。

示例

TLD('http://www.google.com:80/index.html') = '.com'

 

TLD('http://www.google.co.uk:80/index.html') = '.co.uk'

 

感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息