其他函數

REGEXP_REPLACE(字串, 模式, 替換字串)

返回給定字串的副本,其中規則運算式模式被替換字串取代。此函數可用於文字檔、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 資料擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 資料來源。

對於 Tableau 資料擷取,模式和替換字串必須為常量。

有關規則運算式語法的資訊,請參閱資料來源的文件。對於 Tableau 擷取,規則運算式語法遵守當前版本(Unicode 國際化組件,ICU)的標準,它是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

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 擷取,規則運算式語法遵守當前版本(Unicode 國際化組件,ICU)的標準,它是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

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 擷取,規則運算式語法遵守當前版本(Unicode 國際化組件,ICU)的標準,它是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

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 擷取,規則運算式語法遵守當前版本(Unicode 國際化組件,ICU)的標準,它是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

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'

感謝您的意見反應!已成功提交您的意見回饋。謝謝!