tencent cloud

Data Lake Compute

製品概要
プロダクト概要
製品の強み
適用シーン
購入ガイド
課金概要
返金説明
支払い期限切れ説明
設定調整費用の説明
クイックスタート
新規ユーザー開通フルプロセス
DLC データインポートガイド
DLCデータ分析の1分間入門
DLC権限管理の1分間入門
パーティションテーブル1分間入門
データ最適化をオンにする
クロスソース分析 EMR Hive データ
標準エンジン構成ガイド
操作ガイド
コンソール操作紹介
開発ガイド
実行環境
SparkJar ジョブ開発ガイド
PySparkジョブ開発ガイド
「クエリパフォーマンス最適化ガイド」
UDF 関数開発ガイド
システム制約
クライアントアクセス
JDBCアクセス
TDLC コマンドラインツールにアクセス
サードパーティソフトウェア連携
Python にアクセス
実践チュートリアル
DLC を Power BI に接続
テーブル作成の実践
Apache Airflowを使用してDLCエンジンのタスクをスケジュールして送信する
StarRocks は DLC 内部ストレージを直接クエリします
Spark の計算コスト最適化プラクティス
DATA + AI
ロールSSOを使用してDLCにアクセスする
SQL構文
SuperSQL構文
標準 Spark 構文概要
標準 Presto 構文の概要
予約語
API Documentation
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
一般クラスリファレンス
エラーコード
クォータと制限
サードパーティソフトウェアでDLCに接続する操作ガイド
よくあるご質問
権限に関するよくあるご質問
エンジン類のよくある質問
機能に関するよくあるご質問
Sparkジョブクラスに関するよくある質問
DLC ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ

文字列関数

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-25 12:00:07

ASCII

関数構文:
ASCII(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:strの最初の文字の数値を返します。
戻り値の型:integer。
例:
> SELECT ascii('222');
50

BASE64

関数構文:
-- SparkSQL
BASE64(<str> string|binary)
-- Presto
BASE64(<str> binary)
サポートエンジン:SparkSQL、Presto。
使用説明:パラメータをbase64文字列に変換します。
戻り型:string。
例:
> SELECT base64('tencent');
dGVuY2VudA==

BIT_LENGTH

関数構文:
BIT_LENGTH(<expr> string|binary)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列データのビット長またはバイナリデータのビット数を返します。
戻り値の型:integer。
例:
> select bit_length('tencent');
56
> select bit_length(binary('tencent'));
56

CHAR

関数構文:
CHAR(<expr> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:expr の ASCII 文字を返します。expr が 256 より大きい場合、expr=expr%256 となります。
戻り型:string。
例:
> SELECT char(65);
A

CHR

関数構文:
CHR(<expr> integer)
サポートエンジン:SparkSQL。
使用説明:expr の ASCII 文字を返します。expr が 256 より大きい場合、expr=expr%256 となります。
戻り型:string。
例:
> SELECT chr(65);
A

CHAR_LENGTH

関数構文:
CHAR_LENGTH(<expr> string|binary)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列データの文字数またはバイナリデータのバイト数を返します。文字列データの長さには末尾のスペースが含まれます。バイナリデータの長さにはバイナリゼロが含まれます。
戻り値の型:integer。
例:
> select char_length(binary('tencent'));
7
> select char_length('tencent');
7

CHARACTER_LENGTH

関数構文:
CHARACTER_LENGTH(<expr> string|binary)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列データの文字数またはバイナリデータのバイト数を返します。文字列データの長さには末尾のスペースが含まれます。バイナリデータの長さにはバイナリゼロが含まれます。
戻り値の型:integer。
例:
> select character_length(binary('tencent')); 7 > select character_length('tencent'); 7

CONCAT_WS

関数構文:
CONCAT_WS(<sep> string[, <s> string|array<string>}]+)
サポートエンジン:SparkSQL、Presto。
使用説明:sep で区切られた文字列を返します。
戻り型:string。
例:
> SELECT concat_ws(' ', 'tencent', 'dlc');
tencent dlc

DECODE

関数構文:
DECODE(<expr> binary|string, <charset>string)
サポートエンジン:SparkSQL、Presto。
使用説明:最初のパラメータを2番目のパラメータ文字セットでデコードします。
戻り型:string。
例:
> SELECT decode(encode('abc', 'utf-8'), 'utf-8');
abc

ELT

関数構文:
ELT(<n> integer, <s1> string, <s2> string, ...)
サポートエンジン:SparkSQL、Presto。
使用説明:n番目の要素を返します。
戻り型:string。
例:
> SELECT elt(1, 'scala', 'java');
scala

ENCODE

関数構文:
ENCODE(<expr> binary|string, <charset> string)
サポートエンジン:SparkSQL、Presto。
使用説明:2番目のパラメータの文字セットを使用して、最初のパラメータをエンコードします。
戻り型:string。
例:
> SELECT encode('abc', 'utf-8');
abc
> SELECT encode(x'616263', 'utf-8');
abc

FIND_IN_SET

関数構文:
FIND_IN_SET(<str> string, <str_array> string)
サポートエンジン:SparkSQL、Presto。
使用説明:カンマ区切りのリスト atr_array で指定された文字列 str のインデックス(1から開始)を返します。文字列が見つからない場合、または str にカンマが含まれている場合は0を返します。
戻り値の型:integer。
例:
> SELECT find_in_set('ab','abc,b,ab,c,def');
3

FORMAT_NUMBER

関数構文:
FORMAT_NUMBER(<expr1> integer|double|decimal, <expr2> string|integer)
サポートエンジン:SparkSQL、Presto。
使用説明:expr1の形式を「#,####,####.##」に設定し、expr2の小数点以下桁数で四捨五入します。expr2が0の場合、結果には小数点または小数部分が含まれません。
戻り型:string。
例:
> SELECT format_number(12332.123456, 4);
12,332.1235
> SELECT format_number(12332.123456, '##################.###');
12332.123

FORMAT_STRING

関数構文:
FORMAT_STRING(<str> string, obj <T>, ...)
サポートエンジン:SparkSQL、Presto。
使用説明:printf スタイルのフォーマット文字列内のフォーマット文字列を返します。
戻り型:string。
例:
> SELECT format_string("Hello World %d %s", 100, "days");
Hello World 100 days

INITCAP

関数構文:
INITCAP(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:各単語の最初の文字を大文字に変更し、他のすべての文字を小文字にします。
戻り型:string。
例:
> SELECT initcap('sPark sql');
Spark Sql

INSTR

関数構文:
INSTR(<str> string, <substr> string)
サポートエンジン:SparkSQL、Presto。
使用説明:str内で最初にsubstrが出現するインデックス(1からカウント)を返します。
戻り値の型:integer。
例:
> SELECT instr('SparkSQL', 'SQL');
6

LCASE

関数構文:
LCASE(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:str を小文字に変更します。
戻り型:string。
例:
> SELECT lcase('SparkSQL');
sparksql

LENGTH

関数構文:
LENGTH(<expr> string|binary)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列データの文字数またはバイナリデータのバイト数を返します。文字列データの長さには最後のスペースが含まれます。バイナリデータの長さにはバイナリゼロが含まれます。
戻り値の型:integer。
例:
> SELECT length('Spark SQL ');
10

LEVENSHTEIN

関数構文:
LEVENSHTEIN(<s1> string, <s2> string)
サポートエンジン:SparkSQL、Presto。
使用説明:与えられた2つの文字列間のレーベンシュタイン距離を返します。
戻り値の型:integer。
例:
> SELECT levenshtein('kitten', 'sitting');
3

LIKE

関数構文:
LIKE(<s1> str, <s2> pattern)
<str> like <pattern>[ ESCAPE <escape>]
サポートエンジン:SparkSQL、Presto。
使用説明:strがエスケープされたescapeを含むpatternと一致する場合、trueを返します。いずれかのパラメータがnullの場合、nullを返します。それ以外の場合はfalseを返します。
戻り値の型:boolean。
例:
> SELECT like('Spark', '_park');
true
> SET spark.sql.parser.escapedStringLiterals=true;
spark.sql.parser.escapedStringLiterals true
> SELECT '%SystemDrive%\\Users\\John' like '\\%SystemDrive\\%\\\\Users%';
true
> SET spark.sql.parser.escapedStringLiterals=false;
spark.sql.parser.escapedStringLiterals false
> SELECT '%SystemDrive%\\\\Users\\\\John' like '\\%SystemDrive\\%\\\\\\\\Users%';
false
> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true

LOWER

関数構文:
LOWER(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:すべての文字を小文字に変更した str を返します。
戻り型:string。
例:
> SELECT lower('TENCENT');
tencent

LOCATE

関数構文:
LOCATE(<substr> string, <str> string[, <pos> integer])
サポートエンジン:SparkSQL、Presto。
使用説明:str内のpos位以降で最初にsubstrが出現する位置を返します。
戻り値の型:integer。
例:
> SELECT locate('bar', 'foobarbar');
4
> SELECT locate('bar', 'foobarbar', 5);
7

OCTET_LENGTH

関数構文:
OCTET_LENGTH(<expr> string|binary)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列データのバイト長またはバイナリデータのバイト数を返します。
戻り値の型:integer。
例:
> SELECT octet_length('Spark SQL');
9

LPAD

関数構文:
LPAD(<str> string, <len> integer[, <pad> string])
サポートエンジン:SparkSQL、Presto。
使用説明:strを返し、左側をpadで長さlenまで埋めます。strがlenより長い場合、戻り値はlen文字に切り詰められます。padが指定されていない場合、strは空白文字で埋められます。
戻り型:string。
例:
> SELECT lpad('hi', 5, '??');
???hi
> SELECT lpad('hi', 1, '??');
h
> SELECT lpad('hi', 5);
hi

LTRIM

関数構文:
LTRIM(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:str から先頭の空白文字を削除します。
戻り型:string。
例:
> SELECT ltrim(' SparkSQL ');
SparkSQL

PARSE_URL

関数構文:
PARSE_URL(<url> string, <path> string[, <key> string])
サポートエンジン:SparkSQL、Presto。
使用説明:urlからパスを抽出します。
戻り型:string。
例:
> SELECT parse_url('http://spark.apache.org/path?query=1', 'HOST');
spark.apache.org
> SELECT parse_url('http://spark.apache.org/path?query=1', 'QUERY');
query=1
> SELECT parse_url('http://spark.apache.org/path?query=1', 'QUERY', 'query');
1

POSITION

関数構文:
POSITION(<substr> string, <str> string[, <pos> integer])
サポートエンジン:SparkSQL、Presto。
使用説明:str内のpos位以降で最初にsubstrが出現する位置を返します。
戻り値の型:integer。
例:
> SELECT position('bar', 'foobarbar');
4
> SELECT position('bar', 'foobarbar', 5);
7
> SELECT POSITION('bar' IN 'foobarbar');
4

PRINTF

関数構文:
PRINTF(<str> string, obj <T>, ...)
サポートエンジン:SparkSQL、Presto。
使用説明:printf スタイルのフォーマット文字列からフォーマットされた文字列を返します。
戻り型:string。
例:
> SELECT printf("Hello World %d %s", 100, "days");
Hello World 100 days

REPEAT

関数構文:
REPEAT(<str> string, <n> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:指定された文字列をn回繰り返した文字列を返します。
戻り型:string。
例:
> SELECT repeat('123', 2);
123123

REPLACE

関数構文:
REPLACE(<str> string, <search> string[, <replace> string])
サポートエンジン:SparkSQL、Presto。
使用説明:str 内のすべての search を replace に置き換えます。
戻り型:string。
例:
> SELECT replace('ABCabc', 'abc', 'DEF');
ABCDEF

OVERLAY

関数構文:
OVERLAY(<input> string, <replace> string, <pos> integer[, <len> integer])
サポートエンジン:SparkSQL。
使用説明:inputを、posから始まる長さlenのreplaceに置き換えます。
戻り値の型:string。
例:
> SELECT overlay('Spark SQL' PLACING '_' FROM 6);
Spark_SQL
> SELECT overlay('Spark SQL' PLACING 'CORE' FROM 7);
Spark CORE
> SELECT overlay('Spark SQL' PLACING 'ANSI ' FROM 7 FOR 0);
Spark ANSI SQL
> SELECT overlay('Spark SQL' PLACING 'tructured' FROM 2 FOR 4);
Structured SQL
> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('_', 'utf-8') FROM 6);
Spark_SQL
> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('CORE', 'utf-8') FROM 7);
Spark CORE
> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('ANSI ', 'utf-8') FROM 7 FOR 0);
Spark ANSI SQL
> SELECT overlay(encode('Spark SQL', 'utf-8') PLACING encode('tructured', 'utf-8') FROM 2 FOR 4);
Structured SQL

RPAD

関数構文:
RPAD(<str> string, <len> integer[, <pad> string])
サポートエンジン:SparkSQL、Presto。
使用説明:strを返し、右側をpadで長さlenまで埋めます。strがlenより長い場合、戻り値はlen文字に切り詰められます。padが指定されていない場合、strは空白文字で埋められます。
戻り値の型:string。
例:
> SELECT rpad('hi', 5, '??');
hi???
> SELECT rpad('hi', 1, '??');
h
> SELECT rpad('hi', 5);
hi

RTRIM

関数構文:
RTRIM(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:str から末尾の空白文字を削除します。
戻り値の型:string。
例:
> SELECT rtrim(' SparkSQL ');
SparkSQL

SENTENCES

関数構文:
SENTENCES(<str> string[, <lang> string, <country> string])
サポートエンジン:SparkSQL、Presto。
使用説明:str を単語の配列に分割します。
戻り型:array <string>。
例:
> SELECT sentences('Hi there! Good morning.');
[["Hi","there"],["Good","morning"]]

SOUNDEX

関数構文:
SOUNDEX(<str> string)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列のSoundexエンコードを返します。
戻り値の型:string。
例:
> SELECT soundex('Miller');
M460

SPACE

関数構文:
SPACE(<n> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:n個のスペースで構成される文字列を返します。
戻り値の型:string。
例:
> SELECT concat(space(2), '1');
1

SPLIT

関数構文:
SPLIT(<str> string, <regex> string, <limit> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:regexに一致する文字列を区切り文字として、strを分割し、最大長がlimitの配列を返します。
戻り型:array <string>。
例:
> SELECT split('oneAtwoBthreeC', '[ABC]');
["one","two","three",""]
> SELECT split('oneAtwoBthreeC', '[ABC]', -1);
["one","two","three",""]
> SELECT split('oneAtwoBthreeC', '[ABC]', 2);
["one","twoBthreeC"]

SUBSTRING

関数構文:
SUBSTRING(<str> string, <pos> integer[, <len> integer])
SUBSTRING(<str> FROM <pos>[ FOR <len>])
サポートエンジン:SparkSQL、Presto。
使用説明:posから始まり、長さがlenのstr部分文字列、またはposから始まり、長さがlenのバイト配列スライスを返します。
戻り値の型:string。
例:
> SELECT substring('Spark SQL', 5);
k SQL
> SELECT substring('Spark SQL', -3);
SQL
> SELECT substring('Spark SQL', 5, 1);
k
> SELECT substring('Spark SQL' FROM 5);
k SQL
> SELECT substring('Spark SQL' FROM -3);
SQL
> SELECT substring('Spark SQL' FROM 5 FOR 1);
k

SUBSTR

関数構文:
SUBSTR(<str> string, <pos> integer[, <len> integer])
SUBSTR(<str> FROM <pos>[ FOR <len>])
サポートエンジン:SparkSQL、Presto。
使用説明:posから始まり、長さがlenのstr部分文字列、またはposから始まり、長さがlenのバイト配列スライスを返します。
戻り値の型:string。
例:
> SELECT substr('Spark SQL', 5);
k SQL
> SELECT substr('Spark SQL', -3);
SQL
> SELECT substr('Spark SQL', 5, 1);
k
> SELECT substr('Spark SQL' FROM 5);
k SQL
> SELECT substr('Spark SQL' FROM -3);
SQL
> SELECT substr('Spark SQL' FROM 5 FOR 1);
k

LEFT

関数構文:
LEFT(<str> string, <len> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列strの左端からlen文字を返します。lenが0以下の場合、結果は空の文字列になります。
戻り値の型:string。
例:
> SELECT left('tencent', 3);
ten
関数構文:
RIGHT(<str> string, <len> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:文字列strの左端からlen文字を返します。lenが0以下の場合、結果は空の文字列になります。
戻り値の型:string。
例:
> SELECT left('tencent', 3);
ten

SUBSTRING_INDEX

関数構文:
SUBSTRING_INDEX(<str> string, <delim> string, <count> integer)
サポートエンジン:SparkSQL、Presto。
使用説明:delimがcount回出現する前に、strから部分文字列を返します。countが正数の場合、最後の区切り文字の左側のすべてを返します(左から数えて)。countが負数の場合、最後の区切り文字の右側のすべてを返します(右から数えて)。この関数はdelimのマッチング時に大文字と小文字を区別します。
戻り値の型:string。
例:
> SELECT substring_index('cloud.tencent.com', '.', 2);
cloud.tencent

TRANSLATE

関数構文:
TRANSLATE(<input> string, <from> string, <to> string)
サポートエンジン:SparkSQL。
使用説明:from文字列の文字をto文字列の対応する文字に置き換えて、input文字列を変換します。
戻り型:string。
例:
> SELECT translate('AaBbCc', 'abc', '123');
A1B2C3

TRIM

関数構文:
TRIM(<str> string)
trim(BOTH FROM str)
trim(LEADING FROM str)
trim(TRAILING FROM str)
trim(trimStr FROM str)
trim(BOTH trimStr FROM str)
trim(LEADING trimStr FROM str)
trim(TRAILING trimStr FROM str)
サポートエンジン:SparkSQL、Presto
使用説明: trim(str) - strから先頭と末尾の空白文字を削除します。 trim(BOTH FROM str) :strから先頭と末尾の空白文字を削除します。 trim(LEADING FROM str) :strから先頭の空白文字を削除します。 trim(TRAILING FROM str) :strから末尾の空白文字を削除します。 trim(trimStr FROM str) :strから先頭と末尾のtrimStr文字を削除します。 trim(BOTH trimStr FROM str) :strから先頭と末尾のtrimStr文字を削除します。 trim(LEADING trimStr FROM str) :strから先頭のtrimStr文字を削除します。 trim(TRAILING trimStr FROM str):strから末尾のtrimStr文字を削除します。
戻り型:string。
例:
> SELECT trim(' SparkSQL ');
SparkSQL
> SELECT trim(BOTH FROM ' SparkSQL ');
SparkSQL
> SELECT trim(LEADING FROM ' SparkSQL ');
SparkSQL
> SELECT trim(TRAILING FROM ' SparkSQL ');
SparkSQL
> SELECT trim('SL' FROM 'SSparkSQLS');
parkSQ
> SELECT trim(BOTH 'SL' FROM 'SSparkSQLS');
parkSQ
> SELECT trim(LEADING 'SL' FROM 'SSparkSQLS');
parkSQLS
> SELECT trim(TRAILING 'SL' FROM 'SSparkSQLS');
SSparkSQ

BTRIM

関数構文:
BTRIM(<str> string[, <trimStr> string])
サポートエンジン:SparkSQL、Presto
使用説明:strの先頭と末尾からtrimStr(デフォルトはスペース)文字を削除します。
戻り型:string。
例:
> SELECT btrim(' SparkSQL ');
SparkSQL
> SELECT btrim(encode(' SparkSQL ', 'utf-8'));
SparkSQL
> SELECT btrim('SSparkSQLS', 'SL');
parkSQ
> SELECT btrim(encode('SSparkSQLS', 'utf-8'), encode('SL', 'utf-8'));
parkSQ

UCASE

関数構文:
UCASE(<str> string)
サポートエンジン:SparkSQL、Presto
使用説明:すべての文字を大文字に変更したstrを返します。
戻り型:string。
例:
> SELECT ucase('SparkSQL');
SPARKSQL

UNBASE64

関数構文:
UNBASE64(<str> string)
サポートエンジン:SparkSQL、Presto
使用説明:strをbase64文字列からバイナリに変換します。
戻り型:binary
例:
> SELECT unbase64('U3BhcmsgU1FM');
Spark SQL

UNHEX

関数構文:
UNHEX(<str> string)
サポートエンジン:SparkSQL、Presto
使用説明:16進数のstrをバイナリに変換します。
戻り型:binary
例:
> select unhex('74656E63656E74');
tencent

UPPER

関数構文:
UPPER(<str> string)
サポートエンジン:SparkSQL、Presto
使用説明:すべての文字を大文字に変更したstrを返します。
戻り型:string。
例:
> SELECT upper('tencent');
TENCENT

UUID

関数構文:
UUID()
サポートエンジン:SparkSQL、Presto
使用説明:36文字のUUIDを返します
戻り型:string。
例:
> SELECT uuid();
46707d92-02f4-4817-8116-a4c3b23e6266

XPATH

関数構文:
XPATH(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:XPath式に一致する文字列配列をxmlノードから返します。
戻り型:array <string>。
例:
> SELECT xpath('<a><b>b1</b><b>b2</b><b>b3</b><c>c1</c><c>c2</c></a>','a/b/text()');
["b1","b2","b3"]

XPATH_BOOLEAN

関数構文:
XPATH_BOOLEAN(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:XPath式の評価結果がtrueの場合、または一致するノードが見つかった場合、trueを返します。
戻り型:boolean
例:
> SELECT xpath_boolean('<a><b>1</b></a>','a/b');
true

XPATH_DOUBLE

関数構文:
XPATH_DOUBLE(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:double型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:double
例:
> SELECT xpath_double('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3.0

XPATH_NUMBER

関数構文:
XPATH_NUMBER(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:double型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:double
例:
> SELECT xpath_number('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3.0

XPATH_FLOAT

関数構文:
XPATH_FLOAT(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:float型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:float
例:
> SELECT xpath_float('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3.0

XPATH_INT

関数構文:
XPATH_INT(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:int型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:integer
例:
> SELECT xpath_int('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3

XPATH_LONG

関数構文:
XPATH_LONG(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:bigint型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:bigint
例:
> SELECT xpath_long('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3

XPATH_SHORT

関数構文:
XPATH_SHORT(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:short型の値を返します。一致する項目が見つからない場合はゼロを返し、一致する項目が見つかったがその値が数値でない場合はNaNを返します。
戻り型:short。
例:
> SELECT xpath_short('<a><b>1</b><b>2</b></a>', 'sum(a/b)');
3

XPATH_STRING

関数構文:
XPATH_STRING(<xml> string, <xpath> string)
サポートエンジン:SparkSQL、Presto
使用説明:XPath式に一致する最初のxmlノードのテキスト内容を返します。
戻り型:string。
例:
> SELECT xpath_string('<a><b>b</b><c>cc</c></a>','a/c');
cc

REGEXP_EXTRACT

関数構文:
REGEXP_EXTRACT(<str> string, <regexp> string[, <idx> integer])
サポートエンジン:SparkSQL、Presto
使用説明:str内でregexp式に一致し、regexグループインデックスidxに対応する最初の文字列を抽出します。
戻り型:string。
例:
> SELECT regexp_extract('100-200', '(\\\\d+)-(\\\\d+)', 1);
100

REGEXP_EXTRACT_ALL

関数構文:
REGEXP_EXTRACT_ALL(<str> string, <regexp> string[, <idx> integer])
サポートエンジン:SparkSQL、Presto
使用説明:str内でregexp式に一致し、regexグループインデックスに対応するすべての文字列を抽出します。
戻り型:array <string>。
例:
> SELECT regexp_extract_all('100-200, 300-400', '(\\\\d+)-(\\\\d+)', 1);
["100","300"]

REGEXP_REPLACE

関数構文:
REGEXP_REPLACE(<str> string, <regexp> string, <rep> string[, <position> integer])
サポートエンジン:SparkSQL、Presto
使用説明:str内でregexpに一致するすべての部分文字列をrepで置き換えます。
戻り型:string。
例:
> SELECT regexp_replace('100-200', '(\\\\d+)', 'num');
num-num

REGEXP_LIKE

関数構文:
REGEXP_LIKE(<str> string, <regexp> string)
サポートエンジン:SparkSQL
使用説明:文字列が正規表現に一致する場合は true を返し、そうでない場合は false を返します。
戻り型:boolean
例:
> SELECT regexp_like('%SystemDrive%\\Users\\John', '%SystemDrive%\\Users.*');
true

REGEXP

関数構文:
REGEXP(<str> string, <regexp> string)
サポートエンジン:SparkSQL
使用説明:文字列が正規表現に一致する場合は true を返し、そうでない場合は false を返します。
戻り型:boolean
例:
> SELECT regexp('%SystemDrive%\\Users\\John', '%SystemDrive%\\Users.*');
true

CONCAT

関数構文:
CONCAT(<s1> string, <s2> string, ...)
サポートエンジン:SparkSQL、Presto
使用説明:s1、s2、...に接続します
戻り型:string。
例:
> SELECT concat('Spark', 'SQL');
SparkSQL

STR_TO_MAP

関数構文:
str_to_map(<text> string[, <pairDelim> string[, <keyValueDelim> string]])
サポートエンジン:SparkSQL、Presto
使用説明:区切り文字を使用してtextをキー/値ペアに分割し、mapを作成します。pairDelimのデフォルト区切り文字は「,」、keyValueDelimのデフォルト区切り文字は「:」です。pairDelimとkeyValueDelimはどちらも正規表現として扱われます。
戻り型:map <string, string>
例:
> SELECT str_to_map('a:1,b:2,c:3', ',', ':');
{"a":"1","b":"2","c":"3"}
> SELECT str_to_map('a');
{"a":null}

REVERSE

関数構文:
REVERSE(<str> string)
サポートエンジン:SparkSQL、Presto
使用説明:反転した文字列を返します。
戻り型:string。
例:
> SELECT reverse('Spark SQL');
LQS krapS

RLIKE

関数構文:
RLIKE(<str> string, <regexp> string)
サポートエンジン:SparkSQL、Presto
使用説明:strがregexpに一致する場合はtrueを返し、それ以外の場合はfalseを返します。
戻り型:boolean
例:
> SELECT rlike('%SystemDrive%\\Users\\John', '%SystemDrive%\\Users.*');
true

FROM_CSV

関数構文:
FROM_CSV(<cvsStr> string, <schema> string, <options> map<string, string>)
サポートエンジン:SparkSQL
使用説明:指定されたcsvStrとschemaを持つ構造値を返します。
戻り型:struct
例:
> SELECT from_csv('1, 0.8', 'a INT, b DOUBLE');
{"a":1,"b":0.8}
> SELECT from_csv('26/08/2015', 'time Timestamp', map('timestampFormat', 'dd/MM/yyyy'));
{"time":2015-08-26 00:00:00}

SCHEMA_OF_CSV

関数構文:
SCHEMA_OF_CSV(<csvStr> string[, options map<string, string>])
サポートエンジン:SparkSQL
使用説明:csv文字列のスキーマを返します。
戻り型:string。
例:
> SELECT schema_of_csv('1,abc');
STRUCT<`_c0`: INT, `_c1`: STRING>

TO_CSV

関数構文:
TO_CSV(<expr> struct[, <options> map<string, string>])
サポートエンジン:SparkSQL
使用説明:指定された構造値を持つcsv文字列を返します
戻り型:string。
例:
> SELECT to_csv(named_struct('a', 1, 'b', 2));
1,2
> SELECT to_csv(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));
26/08/2015

NGRAMS

関数構文:
NGRAMS(<a> array<array<string>>, <N> integer, <K> integer, <pf> integer)
サポートエンジン:Presto。
使用説明:マーク化された文のセットから上位k個のN-gramを返します。
戻り型:array <struct <string,double>>。

CONTEXT_NGRAMS

関数構文:
CONTEXT_NGRAMS((array &lt;array &lt;string>>, array &lt;string>, int, int))
サポートエンジン:Presto。
使用説明:与えられたコンテキストN-gramに対して、トークン化された文のセットから上位k個のコンテキストN-gramを返します。
戻り型:array <struct <string,double>>。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック