其他函數
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'