tencent cloud

Data Lake Compute

文字列関数

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>>。

ヘルプとサポート

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

フィードバック