数式列に追加できる関数

数式列に追加できる関数

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Zoho DataPrepには、データの加工、計算、新しい値の導出に使用できる315個の組み込み関数があります。このうち、299個の関数は[数式を追加]する加工で数式列を作成するために使用でき、残りの16個はウィンドウ関数です。

このページでは、[数式を追加]する加工で使用できる299個の関数をカテゴリー別に紹介します。各関数には、構文、使用できるパラメーター、動作例が記載されています。以下の目次からカテゴリーに移動し、目的の関数を選択できます。

16個のウィンドウ関数については、ウィンドウ関数をご参照ください。

目次
数学関数(48)
[集計関数(28)]
[文字列関数(64)]
日付と時間の関数(103)
日付と時間の算術関数(23)
論理関数(10)
一般関数(7)
リスト関数(13)
オブジェクト関数(3)

数学関数

絶対値

abs(num)

数値の絶対値を返します。

パラメーター
名前
説明

num

小数

パラメーターには列の数値、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
abs(-1)
1
abs(-5 + 2)
3
abs(-5.2)
5.2
abs('-5.2')
5.2
abs('-5 + 2')
(エラーが返されます)
abs('12/12/2025')
(エラーが返されます)


除算

div(numerator,denominator)

浮動小数点数の除算を行い、小数値を返します。

パラメーター
名前
説明

numerator

小数

パラメーターには、ゼロ以外の数値、小数、数値列、または数値を返す式や関数を指定する必要があります。

denominator

小数

パラメーターには、ゼロ以外の数値、小数、数値列、または数値を返す式や関数を指定する必要があります。
例
関数
結果
div(3,2.1)
1.5
div(3,1.5)
2
div(3, 'a')
(エラーが返されます)
div(3,0)
(エラーが返されます)


加算

add(num1,num2)

param1+param2を返します。数値の加算を行います。

パラメーター
名前
説明

num1

小数

パラメーターには、数値または数値列を指定する必要があります。

num2

小数

パラメーターには、数値または数値列を指定する必要があります。
例
関数
結果
add('3', '2')
5


減算

sub(param1,param2)

数値の減算を実行し、param1 - param2を返します。

パラメーター
名前
説明

param1

小数

パラメーターには数値を指定する必要があります。

param2

小数

パラメーターには数値を指定する必要があります。
例
関数
結果
sub('3', '2')
1


乗算

mul(param1,param2)

数値の乗算を実行します。

パラメーター
名前
説明

param1

小数

パラメーターには数値を指定する必要があります。

param2

小数

パラメーターには数値を指定する必要があります。
例
関数
結果
mul('3', '2')
6


二進数

bin(param)

数値の二進数表現を返します。

パラメーター
名前
説明

param

数値

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
bin('111')
1101111


立方根

cbrt(param)

数値の立方根を返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
cbrt('27')
3


切り上げ

ceil(param)

指定した数値以上の最小の整数を返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
ceil('25.75')
26


変換

conv(param,from_base,to_base)

数値を「変換元の基数」から「変換先の基数」に変換します。

パラメーター
名前
説明

param

テキスト

数値、数値列、または数値を返す式を指定する必要があります。

from_base

小数

変換元の基数です。

to_base

小数

変換先の基数です。
例
関数
結果
conv(100, 2, 10)
4
conv(100, 2)
(エラーが返されます)
conv(100, 2, 10, 20)
(エラーが返されます)
conv(100, 2, 's')
(エラーが返されます)


度

degrees(param)

ラジアンを度に変換します。

パラメーター
名前
説明

param

小数

ラジアン単位の角度を指定します。
例
関数
結果
degrees(3.141592653589793)
180.0


指数

exp(param)

指定した数値の指数値を返します。この値は、自然対数の底(e)を、パラメーターに指定した数を指数として累乗した値です。

パラメーター
名前
説明

param

小数

数値または数値を返す式を指定する必要があります。
例
関数
結果
exp(1)
2.718281828


床関数

floor(param)

指定したパラメーター以下の最大の整数を返します。

パラメーター
名前
説明

param

小数

数値または数値を返す式を指定する必要があります。
例
関数
結果
floor(-0.1)
-1


最大値

greatest(params,params,...)

値のグループから最大値を返します。

パラメーター
名前
説明

params

小数

複数のパラメーターを指定できます。パラメーターには、数値列、数値のリスト、または数値のリストを返す式を指定する必要があります。

params

小数

複数のパラメーターを指定できます。パラメーターには、数値列、数値のリスト、または数値のリストを返す式を指定する必要があります。
例
関数
結果
greatest(10, 9, 2, 4, 3)
10


16進数

hex(param)

指定したパラメーターの16進数の値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、任意の値、または数値、テキスト、真偽値のいずれかのデータ型の列を指定できます。
例
関数
結果
hex(17)
11


最小値

least(params,params,...)

空の値を除外し、すべての値の中から最小値を返します。

パラメーター
名前
説明

params

小数

2つ以上のパラメーターが必要です。パラメーターには、数値列、数値のリスト、または数値のリストを返す式を指定できます。

params

小数

2つ以上のパラメーターが必要です。パラメーターには、数値列、数値のリスト、または数値のリストを返す式を指定できます。
例
年齢
[20, 21, 24, 45, 46, 54, 60, 61, 63]
体重
[123, 145, 160, 155, 200, 50, 134, 55, 60]
関数
結果
least('年齢', '体重')
20, 21, 24, 45, 46, 50, 60, 55, 60


対数

ln(param)

指定したパラメーターの自然対数(底e)を返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
ln('1')
0


Log

log(base,param)

指定されたパラメーターの対数を返します。この関数では、対数の底に独自の値を指定することもできます。

パラメーター
名前
説明

base

小数

対数関数の底を指定します。パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
log(10,100)
2


Log10

log10(param)

指定されたパラメーターの常用対数(底が10の対数)を返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
log10('10.0')
1


Log2

log2(param)

指定されたパラメーターの底が2の対数を返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値、数値列、または数値を返す式を指定する必要があります。
例
関数
結果
log2('2.0')
1


Mod

mod(param1,param2)

2つの数値を除算した余りを返します。

パラメーター
名前
説明

param1

小数

除算の分子として使用する数値を指定する必要があります。

param2

小数

除算の分母として使用する数値を指定する必要があります。
例
関数
結果
mod('7','5')
2


Negative

negative(param)

paramで指定された数値の符号を反転した値を返します。

パラメーター
名前
説明

param

小数

符号を反転する数値を指定します。
例
関数
結果
negative('1')
-1


円周率

pi()

円周率の値を返します。πは数学定数で、円周の長さを直径で割った比率として定義されます。

例
関数
結果
pi()
3.1415926536


べき乗

pow(param1,param2)

数値を、別の数値で指定した指数で累乗します。

パラメーター
名前
説明

param1

小数

累乗する数値を指定します。

param2

小数

数値を累乗する指数を指定します。
例
関数
結果
pow('2', '3')
8


ラジアン

radians(param)

列内の度数法での角度をラジアンに変換します。

パラメーター
名前
説明

param

小数

度数法での角度(数値)を指定します
例
関数
結果
radians(180)
3.1415926536


ランダム

random(num1,num2)

指定した数値の間に含まれるランダムな整数値を列に生成します。

パラメーター
名前
説明

num1

小数

ランダムな数値を返す範囲の開始値を指定します。

num2

小数

ランダムな数値を返す範囲の終了値を指定します。
例
関数
結果
random('0', '4')
3


数値の丸め

round_num(param,d)

HALF_EVEN丸めモードを使用し、指定した小数点以下の桁数に丸めた小数を出力します。

パラメーター
名前
説明

param

小数

最も近い値に丸める数値の列、または正確な小数を指定します。

d

数値

丸める小数点以下の桁数を表す数値の列、または正確な数値を指定します。
例
関数
結果
round_num('2.5', '0')
2
round_num('5.5', '0')
6
round_num('3.2', '0')
3


平方根

sqrt(param)

列内の値の平方根を出力します。

パラメーター
名前
説明

param

小数

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
sqrt('64')
8


アークコサイン

acos(num)

入力したパラメーターのアークコサイン(コサインの逆関数)の値(ラジアン)を出力します。

パラメーター
名前
説明

num

小数

パラメーターには、[-1...1]の範囲の数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
acos(0.34);
1.22387943


アークサイン

asin(num)

入力したパラメーターのアークサイン(サインの逆関数)の値(ラジアン)を出力します。

パラメーター
名前
説明

num

小数

パラメーターには、[-1...1]の範囲の数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
asin(0.34);
19.876874


Atan

atan(num)

入力したパラメーターのアークタンジェント(タンジェントの逆関数)の値(ラジアン)を出力します。

パラメーター
名前
説明

num

小数

パラメーターには、[-1...1]の範囲内の数値、数値の列、または数値を出力する式を指定する必要があります。
例
関数
結果
atan(0.34);
18.77803322


Atan2

atan2(num1,num2)

2つの数値のアークタンジェント(タンジェントの逆関数)を出力します。

パラメーター
名前
説明

num1

小数

パラメーターには、数値、数値の列、または数値を出力する式を指定する必要があります。

num2

小数

パラメーターには、数値、数値の列、または数値を出力する式を指定する必要があります。
例
関数
結果
atan2(5, 5);
0.7853981633974483


Cos

cos(num)

指定した角度(ラジアン)の三角関数のコサインを出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
cos(0);
1.0


Sin

sin(num)

指定した角度(ラジアン)の三角関数のサインを出力します。

パラメーター
名前
説明

num

小数

パラメーターには、数値、数値の列、または数値を出力する式を指定する必要があります。
例
関数
結果
sin(0)
0.0


Tan

tan(angle)

指定した角度(ラジアン)の三角関数のタンジェントを出力します。

パラメーター
名前
説明

angle

小数

パラメーターには、数値、数値の列、または数値を出力する式を指定する必要があります。
例
関数
結果
tan(9.432)
0.0072221648


Cot

cot(num)

指定したラジアン単位の角度の三角関数のコタンジェントを返します。

パラメーター
名前
説明

num

小数

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
cot(0.25)
3.916317


Sign

sign(number)

数値の列の値が正、負、ゼロのいずれであるかを判定します。

パラメーター
名前
説明

number

小数

関数を適用する数値の列を指定します。
例
関数
結果
sign('-24')
-1


Quotient

quotient(num1,num2)

指定した値の商を整数で返します。

パラメーター
名前
説明

num1

数値

パラメーターには数値の列、数値、数値を出力する式のいずれかを指定する必要があります。

num2

数値

パラメーターには数値の列、数値、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
quotient('12', '4')
3


Corr

corr(param1,param2)

数値ペアの集合におけるピアソン相関係数を返します。

パラメーター
名前
説明

param1

小数

1つ目の数値式です。

param2

小数

2つ目の数値式です。
例
c1
3
3
6
c2
2
3
4
関数
結果
corr(c1, c2)
0.8660254037844387


Covar_pop

covar_pop(param1,param2)

数値ペアの集合の母共分散を返します。

パラメーター
名前
説明

param1

小数

1つ目の数値式。

param2

小数

2つ目の数値式。
例
c1
1
2
3
c2
1
2
3
関数
結果
covar_pop(c1, c2)
0.6666666666666666


Covar_samp

covar_samp(param1,param2)

数値ペアの集合の標本共分散を返します。

パラメーター
名前
説明

param1

小数

1つ目の数値式。

param2

小数

2つ目の数値式。
例
c1
1
2
3
c2
1
2
3
関数
結果
covar_samp(c1, c2)
1.0


Crc32

crc32(expr)

exprの巡回冗長検査値をbigint型で返します。

パラメーター
名前
説明

expr

テキスト

CRC32チェックサムを計算する式。文字列またはバイナリー値を指定できます。
例
関数
結果
crc32('Spark')
1,557,323,817


オイラー数

e()

約2.718281828459045に等しいオイラー数(e)を返します。

例
関数
結果
e()
2.718281828459045


Expm1

expm1(expr)

exp(expr) - 1を返します。この関数を使用すると、ゼロに近い値をより高い精度で計算できます。

パラメーター
名前
説明

expr

数値

exp(expr) - 1の計算対象となる数値式です。
例
関数
結果
expm1(0)
0.0


Factorial

factorial(param)

式の階乗を返します。有効な入力範囲は0~20です。範囲外の場合は空の値(null)を返します。

パラメーター
名前
説明

param

小数

0~20の整数を出力する式です。exprの階乗を返します。範囲外の場合は空の値(null)を返します。
例
関数
結果
factorial(5)
120
factorial(0)
1


Acosh

acosh(num)

入力値の逆双曲線余弦(面積双曲線余弦)をラジアン単位で返します。

パラメーター
名前
説明

num

小数

パラメーターには、1以上の数値、数値の列、または1以上の数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
acosh(1.5)
0.96242365


Asinh

asinh(num)

入力式の逆双曲線正弦を返します。

パラメーター
名前
説明

num

小数

数値式または数値の列です。
例
num
0
1
-1
関数
結果
asinh(0);
0.0
asinh(1);
0.881373587
asinh(-1);
-0.881373587


Atanh

atanh(num)

入力式の逆双曲線正接(atanh)を出力します。入力内容は(-1, 1)の範囲内である必要があります。

パラメーター
名前
説明

num

小数

数値の式または列です。-1から1の範囲内である必要があります。
例
num
0
0.5
-0.5
関数
結果
atanh(0);
0.0
atanh(0.5);
0.549306144
atanh(-0.5);
-0.549306144


Round

round(num,d)

HALF_UPの丸めモードを使用して、数値の式を小数点以下d桁に丸めた値を出力します。

パラメーター
名前
説明

num

小数

丸める数値の式です。

d

小数

[任意]丸める小数点以下の桁数です。
例
関数
結果
round(2.5, 0)
3

集計関数

Avg

avg(list)

数値の列、またはリストの平均値を出力します。

パラメーター
名前
説明

list

小数

パラメーターには、数値の列または数値のリストを指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
avg(ticket_count);
60


最小値

min(num)

数値のリストの最小値を出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列、数値のリストのいずれかを指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
min('ticket_count');
30


最大

max(num)

数値の列の最大値を出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
max('ticket_count');
90


最大日付

max_date(date)

日付または日時の列から最大日付を出力します。

パラメーター
名前
説明

date

日時

パラメーターには日付、日時の列のいずれかを指定する必要があります。
例
データ列
2018年12月6日
2019年11月17日
2020年10月20日
関数
結果
max_date(データ列)
2020年10月20日


最小日付

min_date(date)

日付または日時の列から最小の日付値を出力します。

パラメーター
名前
説明

日付

日時

パラメーターには日付、日時の列のいずれかを指定する必要があります。
例
データ列
2018年12月06日
2019年11月17日
2020年10月20日
関数
結果
min_date(データ列)
2018年12月06日


合計

sum(num)

指定した列の値の合計を出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列または数値のリストを指定する必要があります。
例
marks
45
33
56
70
関数
結果
sum(marks)
205


最頻値

mode(num)

列内で最も頻繁に出現する値を出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります。
例
ticket_count
30
40
30
60
30
80
90
関数
結果
mode('ticket_count');
30


件数

count(col)

列内の値の総数を返します。空の値(空白セル)は無視されます。

パラメーター
名前
説明

col

テキスト

パラメーターには列を指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
count(ticket_count);
7


空白を含む件数

count_wb(col)

空の値(空白セル)を含む、列内の値の総数を返します。

パラメーター
名前
説明

col

テキスト

パラメーターには列を指定する必要があります。
例
ticket_count
30
40
50

70
80
90
関数
結果
count_wb(ticket_count);
7


分散

variance(param)

グループ内の値から算出した分散を数値形式で返します。

パラメーター
名前
説明

param

小数

パラメーターには、数値列などの数値のグループを指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
variance(ticket_count)
466.66


標準偏差

stddev(param)

入力値から計算した標準偏差を返します。

パラメーター
名前
説明

param

小数

パラメーターには数値または数値の列を指定する必要があります。
例
スコア
10
20
30
40
50
60
関数
結果
stddev(スコア)
18.70


重複しない値の収集

collect_set(param)

列から重複しない値を収集し、リストとして返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、いずれか1つのデータ型に準拠する列を指定する必要があります。
例
列1
'オーストラリア'
'米国'
'オーストラリア'
'カナダ'
'カナダ'
関数
結果
collect_set(列1)
['オーストラリア','米国','カナダ']


条件付き最小値

min_if(num,condition)

指定した条件を満たす最小値を返します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります

condition

真偽値

条件は真偽値を返す必要があり、その値に基づいて関数が計算されます
例
ticket_count
30
40
50
60
70
80
90
関数
結果
min_if(ticket_count, ticket_count!=30)
40


条件付き最大値

max_if(num,condition)

指定した条件を満たす最大値を返します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります

condition

真偽値

条件は、関数の計算基準となる真偽値を返す必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
max_if(ticket_count, ticket_count!=90)
80


条件付き平均値

avg_if(num,condition)

指定した条件を満たす値の平均値を返します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります

condition

真偽値

条件は、関数の計算基準となる真偽値を返す必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
avg_if(ticket_count, ticket_count!=30)
65


条件付き合計

sum_if(num,condition)

指定した条件を満たす値の合計を返します。

パラメーター
名前
説明

num

小数

パラメーターは入力必須です。数値、数値の列のいずれかを指定する必要があります。

condition

真偽値

条件は、関数の計算基準となる真偽値を返す必要があります。
例
marks
[90, 85, 95, 65]
grade
[A, B, A, D]
関数
結果
sum_if(marks, `grade`=='A')
[185, 185, 185, 185]


条件付き最頻値

mode_if(num,condition)

指定した条件を満たす最頻値を返します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります

condition

真偽値

条件は、関数の計算基準となる真偽値を返す必要があります。
例
ticket_count
30
40
30
40
30
80
90
関数
結果
mode_if(ticket_count, ticket_count!=30)
40


条件付き標準偏差

stddev_if(number,condition)

指定した条件を適用した後、対象の列の母標準偏差を返します。

パラメーター
名前
説明

number

小数

パラメーターには、数値列の値、または数値を返す式を指定する必要があります。

condition

真偽値

条件は、関数の計算基準となる真偽値を返す必要があります。
例
国
インド
米国
ドイツ
映画
アバター
インセプション
アバター
評価
9.432
1.0
2.0
関数
結果
stddev_if(`Rating`, `Movie`='Avatar')
5.2552175978


条件付き分散

variance_if(num,condition)

指定した条件を満たす値の分散を返します。

パラメーター
名前
説明

num

小数

パラメーターは入力必須です。数値の列、数値のリストを出力する式のいずれかを指定する必要があります。

condition

真偽値

条件は真偽値を返す必要があり、その値に基づいて関数が計算されます。
例
sales_amount
9.432
1
2
country
India
USA
India
関数
結果
variance_if(sales_amount, 'country'=='India');
27.6173124, 27.617312, 27.617312


条件付き件数

count_if(col,condition)

指定した条件を満たす値の総件数を返します。

パラメーター
名前
説明

col

テキスト

パラメーターには列を指定する必要があります

condition

真偽値

条件は真偽値を返す必要があり、その値に基づいて関数が計算されます。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
count_if(ticket_count, ticket_count!=30)
6


重複しない値の件数

count_distinct(col)

列における重複しない値の件数を出力します。

パラメーター
名前
説明

col

テキスト

パラメーターには列を指定する必要があります
例
ticket_count
30
40
30
60
70
60
90
関数
結果
count_distinct(ticket_count);
5


条件を満たす重複しない値の件数

count_distinct_if(col,condition)

指定した条件を満たす重複しない値の総数を出力します。

パラメーター
名前
説明

col

テキスト

パラメーターには列を指定する必要があります

condition

真偽値

条件は真偽値を返す必要があり、その値に基づいて関数が計算されます。
例
ticket_count
30
40
50
60
30
80
40
関数
結果
count_distinct_if(ticket_count, ticket_count!=30)
4


パーセンタイル

percentile(num,percentage,frequency)

指定した「percentage」における「num」の正確なパーセンタイル値を出力します。

パラメーター
名前
説明

num

小数

パラメーターには数値の列を指定する必要があります

percentage

テキスト

パラメーターには数値、数値の列、0.0~1.0の数値を出力する式のいずれかを指定する必要があります。

frequency

数値

[任意]パラメーターには数値、数値の列、正の数値を出力する式のいずれかを指定する必要があります。
例
ticket_count
30
40
50
60
70
80
90
関数
結果
percentile(ticket_count, 0.3, 0)
3.0


相関

correl(numList1,numList2)

2つの数値列間のピアソン相関係数を出力します。

パラメーター
名前
説明

numList1

小数

パラメーターには数値の列を指定する必要があります

numList2

小数

パラメーターには数値の列を指定する必要があります
例
年齢
[20, 21, 24, 45, 46, 54, 60, 61, 63]
体重
[123, 145, 160, 155, 200, 150, 134, 133, 120]
関数
結果
correl('Age', 'Weight');
-0.1316


リストの収集

collect_list(param)

列内のすべての値をリストとして収集します。

パラメーター
名前
説明

param

テキスト

パラメーターには、いずれか1つのデータ型に準拠する列を指定する必要があります。
例
列
30
50
60
関数
結果
collect_list(Column)
[30, 50, 60], [30, 50, 60], [30, 50, 60]


いずれか

any(params)

`expr`の値のうち、1つ以上が真の場合に真を返します。

パラメーター
名前
説明

params

真偽値

評価対象の値を含む真偽値の式または列です。1つ以上の値が真の場合、関数は真を返します。
例
関数
結果
any(true,false,false)
true
any(NULL,true,false)
true
any(false,false,NULL)
false


一意の値の概算件数

approx_count_distinct(expr,relativeSD)

HyperLogLog++アルゴリズムを使用して、一意の値の推定件数を返します。任意の`relativeSD`パラメーターでは、許容される相対標準偏差の最大値を指定します。

パラメーター
名前
説明

expr

小数

一意の値の件数を概算する列または式です。

relativeSD

小数

[任意]推定時に許容される相対標準偏差の最大値を指定します。
例
OrderID
1023
1023
1050
1088
1088
1101
関数
結果
approx_count_distinct(OrderID)
4


ビット単位のXOR

bit_xor(expr)

空の値(null)以外のすべての入力値に対するビット単位のXORを返します。該当する値がない場合は、空の値(null)を返します。

パラメーター
名前
説明

expr

数値

ビット単位のXORを計算する数値式または列です。空の値(null)以外の値のみが対象です。
例
col
3
5
関数
結果
bit_xor(col);
6

文字列関数

文字

char(param,...)

パラメーターと等価なバイナリー値を持つASCII文字を返します。nが256より大きい場合、結果はchar(n % 256)と同じになります。

パラメーター
名前
説明

param

数値

複数のパラメーターを指定できます。各パラメーターには、数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
char('65')
A
char('65', '66', '67')
ABC
char('33', '289')
!!
char('33', '64', '60', '80', '100')
!@<Pd
char('33', '64', 60, 80, 100)
!@<Pd
char('sgr', 60, 80, '100')
(エラーが返されます)
char('d', 'a', 't', 'a')
(エラーが返されます)


連結

concat(params,params,...)

指定したパラメーターを連結したテキストを返します。いずれかのパラメーターが空の値の場合は、空の値を返します。

パラメーター
名前
説明

params

テキスト

パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

params

テキスト

パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。
例
関数
結果
concat('NOW', 'HERE')
NOWHERE


区切り文字を使用した連結

concat_ws(separator,param1,param2,...)

指定したパラメーターを区切り文字で連結したテキストを返します。いずれかのパラメーターが空の値の場合は、空の値を返します。

パラメーター
名前
説明

separator

テキスト

最初のパラメーターが区切り文字として使用され、後続の引数がこの区切り文字で連結されます。

param1

テキスト

連結する最初の文字列です。

param2

テキスト

指定した区切り文字を使用して最初の文字列に連結する、1つ以上の追加文字列です。
例
関数
結果
concat_ws('_', 'NOW', 'HERE')
NOW_HERE
concat_ws('_', 'NOW', 'HERE', 'IT', 'IS')
NOW_HERE_IT_IS
concat_ws('_', 'NOW')
(エラーが返されます)


Decode

decode(param,charset)

2番目の引数で指定された文字セット(UTF-8、ASCII、UTF-10など)を使用して、最初の引数をデコードした値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

charset

テキスト

UTF-8、ASCII、UTF-10などの文字セットを指定します。
例
関数
結果
decode('ABC', 'UTF-8')
ABC


Encode

encode(param,charset)

2番目の引数で指定された文字セット(utf-8、ascii、utf-10など)を使用して、最初の引数をエンコードした値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

charset

テキスト

文字セットを指定します。対応している文字セットは、'US-ASCII'、'ISO-8859-1'、'UTF-8'、'UTF-16BE'、'UTF-16LE'、'UTF-16'です。
例
関数
結果
encode('ABC', 'UTF-8')
ABC


Initcap

initcap(param)

各単語の先頭文字を大文字にしたテキストを返します。その他の文字はすべて小文字になります。単語は空白で区切られます。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
initcap('zoho one is an operating system for your business')
Zoho One Is An Operating System For Your Business


Left

left(param,length)

最初のパラメーターの左端から、「length」で指定した数の文字を返します。lengthが0以下の場合、結果は空のテキストになります。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

length

数値

lengthには、数値または数値型の列を指定する必要があります。
例
関数
結果
left('NOWHERE', 3)
NOW


小文字への変換

lower(param)

LOWER関数は、指定したテキストの各文字をすべて小文字に変換して返します。

パラメーター
名前
説明

param

テキスト

各文字をすべて小文字に変換するテキストを指定します。パラメーターには、テキスト値、テキスト列、または結果としてテキスト値を返す式を指定できます。
例
関数
結果
lower('Zoho, Your Life's Work, Powered By Our Life's Work!')
zoho, your life's work, powered by our life's work!


先頭の空白の削除

ltrim(param)

テキストの先頭にある空白文字を削除します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
ltrim(' Zoho')
Zoho


正規表現による抽出

regexp_extract(str,regexp,groupIdx)

正規表現に一致するグループを抽出します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

regexp

テキスト

パラメーターには、テキストとして渡す正規表現パターンを指定する必要があります。

groupIdx

数値

[任意]パラメーターには、抽出するグループの番号を示す整数を指定する必要があります。
例
関数
結果
regexp_extract('100abc', '\\d+' , 0)
100
regexp_extract( '100-abc' , '(\\d+)-([a-zA-Z]+)' , 2)
abc


正規表現による置換

regexp_replace(str,regex,replace_with)

テキスト「str」のうち、正規表現に一致するすべての部分文字列を、「replace_with」で指定したテキストに置換します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

regex

テキスト

パラメーターには、正規表現を指定するテキストを設定する必要があります。

replace_with

テキスト

パラメーターには、置換後のテキストを指定する必要があります。
例
関数
結果
regexp_replace('100-200', '(\\d+)', 'num')
num-num


置換

replace(str,search,replace)

検索対象に一致するすべての箇所を、指定した置換テキストに置換します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

search

テキスト

テキスト式です。searchがstr内に見つからない場合、strが変更されずに返されます。

replace

テキスト

テキスト式です。replaceが指定されていないか空のテキストの場合、対象のテキストはstrから削除され、何も挿入されません。
例
関数
結果
replace('ABCabc', 'abc', 'DEF')
ABCDEF


反転

reverse(str)

指定したテキストの文字順を反転して返します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
reverse('Zoho One')
enO ohoZ


right(str,len)

テキスト`str`の右端から`len`で指定した数の文字を返します。長さが0以下の場合、結果は空のテキストになります。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

len

数値

テキストの右端から返す文字数を指定します。
例
関数
結果
right('Zoho One', '3')
One


右端のトリミング

rtrim(str)

指定したテキスト値の末尾にあるスペース文字を削除します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
rtrim('Zoho One ')
Zoho One


Soundex

soundex(str)

列内のテキスト値のSoundexコードを返します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキスト型の列、またはテキストを返す式を指定する必要があります。
例
関数
結果
soundex('Miller')
M460


部分文字列

substr(sentence,pos,len)

「sentence」のテキストから、指定した位置番号を起点に、指定した長さの部分テキストを返します。

パラメーター
名前
説明

sentence

テキスト

パラメーターには、テキスト、テキスト型の列、またはテキストを返す式を指定する必要があります。

pos

数値

パラメーターには、抽出するテキストの開始位置を示す番号を数値で指定する必要があります。位置番号は1から始まります。

len

数値

[任意]パラメーターには、「sentence」から抽出するテキストの文字数を数値で指定します。
例
関数
結果
substr('Zoho One', '4', '1')
o


トリム

trim(param)

列内のテキスト値の先頭と末尾にあるスペース文字を削除します。

パラメーター
名前
説明

param

テキスト

パラメーターには、任意のデータ型の列を指定できます。
例
関数
結果
trim(' Zoho One ')
Zoho One


大文字変換

upper(param)

すべての文字を大文字に変換したテキストを返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト型の列、またはテキストを返す式を指定する必要があります。
例
関数
結果
upper('Zoho One')
ZOHO ONE


大文字と小文字の反転

invert_case(param)

すべての大文字と小文字を反転したテキストを返します。大文字は小文字に、小文字は大文字に変換されます。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
invert_case('Zoho One is an Operating System for your Business')
zOHO oNE IS AN oPERATING sYSTEM FOR YOUR bUSINESS


大文字と小文字の交互変換

alternate_case(string)

入力内容の各文字を、最初の文字を小文字として、小文字と大文字に交互に変換したテキストを返します。

パラメーター
名前
説明

string

テキスト

各文字を大文字と小文字に交互に変換するテキストを指定します。
例
関数
結果
alternate_case('Zoho, Your Life's Work, Powered By Our Life's Work!')
zOhO, yOuR LiFe's wOrK, pOwErEd bY OuR LiFe's wOrK!


最初の文字を大文字

sentence_case(param)

列の値に「最初の文字を大文字」を適用したテキストを返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
sentence_case('welcome to the united states of america')
'Welcome to the united states of america'


空白の次の文字を大文字(空白なし)

camel_case(string)

テキストに「空白の次の文字を大文字(空白なし)」を適用した結果を返します。

パラメーター
名前
説明

string

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
camel_case('Zoho one is an operating system for your business')
ZohoOneIsAnOperatingSystemForYourBusiness


各単語の最初の文字を大文字

title_case(param)

列の値に「各単語の最初の文字を大文字」を適用したテキストを返します。これは、冠詞や短い前置詞など一部の短い単語を除き、各単語の最初の文字を大文字にする形式です。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
title_case('united states of america')
United States of America


改行からスペースへの変換

lines_to_space(param)

改行をスペースに変換したテキスト値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
lines_to_space('Zoho\nOne')
Zoho One


スペースから改行への変換

space_to_lines(param)

スペースを改行に変換したテキスト値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
space_to_lines('Zoho One')
Zoho\nOne


タブからスペースへの変換

tab_to_space(param)

タブをスペースに変換したテキスト値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
tab_to_space('Zoho\tOne')
Zoho One


スペースからタブへの変換

space_to_tab(param)

スペースをタブに変換したテキスト値を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
space_to_tab('Zoho One')
Zoho\tOne


単一スペースへの変換

to_single_space(param)

連続するスペースを1つのスペースに変換したテキストを返します。例の\sは、空白文字を表すための表記です。入力データには実際のスペースを含める必要があります。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
to_single_space('Zoho\s\s\sOffice\s\sSuite')
Zoho Office Suite


単一タブへの変換

to_single_tab(param)

複数のタブスペースを1つのタブスペースに変換したテキストを返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
to_single_tab('Zoho\t\t\tOffice\tSuiteSQL\tOrg')
Zoho\tOffice\tSuiteSQL\tOrg


空の行の削除

remove_empty_lines(param)

列内の空の行をすべて削除します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
remove_empty_lines('Zoho\n\n\nOffice\n\nSuite')
Zoho\nOffice\nSuite


文字の切り詰め

truncate_char(param1,param2)

入力内容のテキスト値から、指定された数の文字を切り詰めます。

パラメーター
名前
説明

param1

テキスト

パラメーターには、任意のデータ型の列を指定できます。

param2

数値

テキストから削除する文字数を指定します。パラメーターの値は、テキストの文字数より小さくする必要があります。
例
関数
結果
truncate_char(Zoho One, 4)
Zoho


単語の切り詰め

truncate_words(param1,param2)

入力内容のテキスト値から、指定された数の単語を切り詰めます。

パラメーター
名前
説明

param1

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

param2

数値

テキストから削除する単語数を指定します。パラメーターの値は、テキスト内の単語数より小さく、0より大きくする必要があります。
例
関数
結果
truncate_words('Zoho One', 1)
Zoho


スペースの削除

remove_space(str)

列内のすべてのスペースを削除します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。
例
関数
結果
remove_space(' Zoho One ')
'ZohoOne'


分割

split(str,regex)

正規表現に一致する箇所でテキストを分割します。

パラメーター
名前
説明

str

テキスト

パラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。

regex

テキスト

パラメーターには、テキストを返す正規表現を記述したテキストを指定する必要があります。
例
関数
結果
split('oneAtwoBthreeC', '[ABC]')
['one','two','three','']


次の値を含む

contains(string1,string2,num)

入力した1番目のパラメーターに2番目のパラメーターが含まれている場合に、真を出力します。

パラメーター
名前
説明

string1

テキスト

パラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。

string2

テキスト

パラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。

num

数値

パラメーターには数値を指定する必要があります。「0」を指定すると、大文字と小文字を区別してテキストを検索します。その他の数値を指定すると、大文字と小文字を区別せずに検索します。
例
関数
結果
contains('Pineapple', 'Apple', 0)
True


次の値で始まる

starts_with(string1,string2,number)

2つのテキスト列を比較し、1番目のテキストが2番目のテキストで始まる場合に、真を出力します。

パラメーター
名前
説明

string1

テキスト

テキスト、テキストの列のいずれかを指定します。

string2

テキスト

テキスト、テキストの列のいずれかを指定します。

number

数値

比較で大文字と小文字を区別する場合は「1」、区別しない場合は「0」を指定します。
例
関数
結果
starts_with('Sunday', 'Sun', '1')
True
starts_with('Sunday', 'Mon', '0')
False


末尾一致

ends_with(string1,string2,num)

テキスト文字列string1がstring2で終わるという条件を満たす場合、trueを返します。

パラメーター
名前
説明

string1

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

string2

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

num

数値

パラメーターには数値を指定する必要があります。「0」を指定すると、大文字と小文字を区別して文字列が検索されます。その他の数値を指定すると、大文字と小文字を区別せずに検索されます。
例
関数
結果
ends_with('Newyork','york', 0)
True


キーワードの抽出

keyword_extraction(string,maxKeywordLength,topElements,model)

列に含まれるキーワードを返します。

パラメーター
名前
説明

string

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

maxKeywordLength

数値

2836:: 1つのキーワードセットに含める単語の最大数です。たとえば、「Operating Systems」という文の場合、キーワードの長さは最大2です。

2837:: topElements

2838:: 数値

2839:: 結果の上からN個の要素を選択します。

2840:: model

2841:: テキスト

2842:: ONLY_VALID_KEYWORDS、RANKED_KEYWORDS、RANKED_KEYWORDS_WITH_INDEXの3つのモデルに対応しています。
2843:: 例
2844:: 関数
2845:: 結果
2846:: keyword_extraction(`A room without books is like a body without a soul.` , '1' , '4' , 'ONLY_VALID_KEYWORDS')
2847:: ('room','books','body','soul')


2848:: 言語予測

2849:: lang_predict2850:: (2851:: string2852:: ,2853:: langType2854:: )

2855:: 指定したテキストの言語を検出します。71言語に対応しています。

2856:: パラメーター
2857:: 名前
2858:: 説明

2859:: string

2860:: テキスト

2861:: パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

2862:: langType

2863:: テキスト

2864:: パラメーターには「code」または「name」を指定する必要があります。「code」を指定すると結果に言語コードが表示され、「name」を指定すると言語の名前が表示されます。
2865:: 例
2866:: 関数
2867:: 結果
2868:: lang_predict('மதிப்புரைகளைப் படிக்கவும்' , 'name')
2869:: Tamil
2870:: lang_predict('மதிப்புரைகளைப் படிக்கவும' , 'code')
2871:: ta


2872:: 位置検索

2873:: locate2874:: (2875:: string12876:: ,2877:: string22878:: ,2879:: position2880:: )

2881:: 入力した2番目のパラメーター(string2)において、3番目のパラメーター(position)の文字数以降で1番目のパラメーター(string1)が最初に現れる位置(文字数)を数値で出力します。

2882:: パラメーター
2883:: 名前
2884:: 説明

2885:: string1

2886:: テキスト

2887:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

2888:: string2

2889:: テキスト

2890:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

2891:: position

2892:: 数値

2893:: [任意]string2を検索する開始位置を指定します。
2894:: 例
2895:: 関数
2896:: 結果
2897:: locate('bar', 'foobarbar')
2898:: 4
2899:: locate('bar', 'foobarbar' , 5)
2900:: 5


2901:: 左パディング

2902:: lpad2903:: (2904:: string2905:: ,2906:: length2907:: ,2908:: string22909:: )

2910:: stringの左側をpadStringで補完し、指定したlengthのテキストを返します。パディングはlengthの値が元のテキストの文字数を上回る場合にのみ適用されます。それ以外の場合、出力テキストはlengthパラメーターで指定した文字数に短縮されます。

2911:: パラメーター
2912:: 名前
2913:: 説明

2914:: string

2915:: テキスト

2916:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

2917:: length

2918:: 数値

2919:: パラメーターには、返す値の文字数を指定します。

2920:: string2

2921:: テキスト

2922:: 1番目のパラメーター(string)に挿入する、または置き換えるテキストを指定します。
2923:: 例
2924:: 関数
2925:: 結果
2926:: lpad('abcd', 3, 'A')
2927:: Aab
2928:: lpad('abcd', 7, 'A')
2929:: AAAabcd


2930:: 右パディング

2931:: rpad2932:: (2933:: string2934:: ,2935:: length2936:: ,2937:: string22938:: )

2939:: stringの右側をpadStringで補完し、指定したlengthのテキストを返します。パディングはlengthの値が元のテキストの文字数を上回る場合にのみ適用されます。それ以外の場合、出力テキストはlengthパラメーターで指定した文字数に短縮されます。

2940:: パラメーター
2941:: 名前
2942:: 説明

2943:: string

2944:: テキスト

2945:: パラメーターにはテキストの列、テキストを出力する式のいずれかを指定する必要があります。

2946:: length

2947:: 数値

2948:: パラメーターには、返す値の文字数を指定します。

2949:: string2

2950:: テキスト

2951:: 1番目のパラメーター(string)に挿入する、または置き換えるテキストを指定します。
2952:: 例
2953:: 関数
2954:: 結果
2955:: rpad('abcd', 5, 'A')
2956:: abcdA
2957:: rpad('abcd', 7, 'A')
2958:: abcdAAA


2959:: ELT

2960:: elt2961:: (2962:: num2963:: ,2964:: string2965:: ,2966:: ...2967:: )

2968:: 入力したパラメーターから、1番目のパラメーター(num)で指定した順番に現れるテキストを出力します。

2969:: パラメーター
2970:: 名前
2971:: 説明

2972:: num

2973:: 数値

2974:: パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。

2975:: string

2976:: テキスト

2977:: 複数のパラメーターを指定できます。すべてのパラメーターに、テキストの列、またはテキストを出力する式を指定する必要があります。
2978:: 例
2979:: 関数
2980:: 結果
2981:: elt('5', 'Zoho', 'is the', 'operating system', 'for your', 'business')
2982:: business
2983:: elt('6', 'Zoho', 'is the', 'operating system', 'for your', 'business')
2984:: (エラーが返されます)
2985:: elt(3, 1,2,3)
2986:: 3


2987:: 項目

2988:: field2989:: (2990:: string12991:: ,2992:: string22993:: ,2994:: ...2995:: )

2996:: 入力した2番目以降のパラメーターのうち、1番目のパラメーター(string1)に一致する値を検索し、見つかった位置(順番)を数値で出力します。

2997:: パラメーター
2998:: 名前
2999:: 説明

3000:: string1

3001:: テキスト

3002:: 1番目のパラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3003:: string2

3004:: テキスト

3005:: 複数のパラメーターを指定できます。2番目以降の各パラメーターには、テキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。
3006:: 例
3007:: 関数
3008:: 結果
3009:: field('as','has','as','have')
3010:: 2


3011:: 挿入

3012:: insert3013:: (3014:: string13015:: ,3016:: position3017:: ,3018:: length3019:: ,3020:: string23021:: )

3022:: string1のpositionで指定した位置から、lengthで指定した文字数分をテキストstring2に置き換えます。

3023:: パラメーター
3024:: 名前
3025:: 説明

3026:: string1

3027:: テキスト

3028:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3029:: position

3030:: 数値

3031:: 4番目のパラメーター(string2)を挿入する位置を数値で指定します。

3032:: length

3033:: 数値

3034:: 置き換えるテキストの文字数を指定します。

3035:: string2

3036:: テキスト

3037:: 1番目のパラメーター(string1)に挿入する、または置き換えるテキストを指定します。
3038:: 例
3039:: 関数
3040:: 結果
3041:: insert('abcddb', 3, 2, 'efgh')
3042:: abefghdb


3043:: 繰り返し

3044:: repeat3045:: (3046:: string3047:: ,3048:: num3049:: )

3050:: 指定された回数だけ「string」のテキストを繰り返し、生成されたテキストを出力します。

3051:: パラメーター
3052:: 名前
3053:: 説明

3054:: string

3055:: テキスト

3056:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3057:: num

3058:: 数値

3059:: パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。値は9,999以下である必要があります。
3060:: 例
3061:: 関数
3062:: 結果
3063:: repeat('Abcd', 3)
3064:: AbcdAbcdAbcd


3065:: ASCII

3066:: ascii3067:: (3068:: string3069:: )

3070:: 入力文字列の先頭文字のASCIIコードを出力します。入力内容が文字と数値のどちらで始まる場合でも、先頭文字のみが評価されます。

3071:: パラメーター
3072:: 名前
3073:: 説明

3074:: string

3075:: テキスト

3076:: パラメーターには、テキスト、数値、日付、任意の列のいずれかを指定できます。
3077:: 例
3078:: 関数
3079:: 結果
3080:: ascii('A')
3081:: 65
3082:: ascii('222')
3083:: 50
3084:: ascii('2')
3085:: 50


3086:: ビット長

3087:: bit_length3088:: (3089:: string3090:: )

3091:: テキストパラメーターの長さをビット長で出力します。

3092:: パラメーター
3093:: 名前
3094:: 説明

3095:: string

3096:: テキスト

3097:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。
3098:: 例
3099:: 関数
3100:: 結果
3101:: bit_length('AA')
3102:: 16


3103:: 位置番号

3104:: index_of3105:: (3106:: string13107:: ,3108:: string23109:: )

3110:: 「string1」に「string2」のテキストが最初に出現する位置の番号を出力します。

3111:: パラメーター
3112:: 名前
3113:: 説明

3114:: string1

3115:: テキスト

3116:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3117:: string2

3118:: テキスト

3119:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。
3120:: 例
3121:: 関数
3122:: 結果
3123:: index_of('abcddb','db')
3124:: 5


3125:: スペース

3126:: space3127:: (3128:: 数値3129:: )

3130:: n個のスペースで構成されるテキストを出力します。

3131:: パラメーター
3132:: 名前
3133:: 説明

3134:: 数値

3135:: 数値

3136:: 必須のスペース数を指定します。パラメーターには、スペース数を指定する数値の列を指定できます。
3137:: 例
3138:: 関数
3139:: 結果
3140:: space('2')
3141:: ' '


3142:: 16進数のデコード

3143:: unhex3144:: (3145:: 16進値3146:: )

3147:: 16進数の各2桁に対応する文字を出力します

3148:: パラメーター
3149:: 名前
3150:: 説明

3151:: 16進値

3152:: テキスト

3153:: パラメーターには16進数のテキストを指定する必要があります
3154:: 例
3155:: 関数
3156:: 結果
3157:: unhex('476F64');
3158:: God


3159:: 文字列の比較

3160:: string_compare3161:: (3162:: 文字列13163:: ,3164:: 文字列23165:: )

3166:: 2つのテキストの列を比較し、列のサイズが等しい場合は0、列1が列2より大きい場合は1、列2が列1より大きい場合は-1を出力します。

3167:: パラメーター
3168:: 名前
3169:: 説明

3170:: 文字列1

3171:: テキスト

3172:: テキスト、テキストの列のいずれかを指定します。

3173:: 文字列2

3174:: テキスト

3175:: テキスト、テキストの列のいずれかを指定します。
3176:: 例
3177:: 関数
3178:: 結果
3179:: string_compare('Sunday', 'Monday')
3180:: 0


3181:: 記号の削除

3182:: remove_symbols3183:: (3184:: 文字列3185:: )

3186:: テキストから、英字、数値、アクセント付きラテン文字、非ラテン文字、空白文字のいずれにも該当しないすべての文字を削除します。

3187:: パラメーター
3188:: 名前
3189:: 説明

3190:: 文字列

3191:: テキスト

3192:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。
3193:: 例
3194:: 関数
3195:: 結果
3196:: remove_symbols('Abcd$%```')
3197:: Abcd


3198:: 指定したテキスト間のサブテキスト

3199:: substring_between3200:: (3201:: fulltext3202:: ,3203:: start_text3204:: ,3205:: end_text3206:: ,3207:: pos3208:: )

3209:: メインテキストから、指定した2つのテキストの間に含まれる文字を出力します。

3210:: パラメーター
3211:: 名前
3212:: 説明

3213:: fulltext

3214:: テキスト

3215:: すべてのパラメーターにテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3216:: start_text

3217:: テキスト

3218:: サブテキストを抽出する開始位置のテキストの値を指定します。

3219:: end_text

3220:: テキスト

3221:: サブテキストを抽出する終了位置のテキストの値を指定します。

3222:: pos

3223:: 数値

3224:: [任意]サブテキストの抽出開始位置となる、一致する区切り文字の位置を指定する任意の正の数値です。
3225:: 例
3226:: 関数
3227:: 結果
3228:: substring_between('Sunday', 'n', 'y', 1)
3229:: da


3230:: サブテキストの件数

3231:: substring_count3232:: (3233:: fulltext3234:: ,3235:: sub_text3236:: )

3237:: 1番目のパラメーター(fulltext)において、2番目のパラメーター(sub_text)が含まれている件数を出力します。

3238:: パラメーター
3239:: 名前
3240:: 説明

3241:: fulltext

3242:: テキスト

3243:: パラメーターにはテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3244:: sub_text

3245:: テキスト

3246:: 1番目のパラメーター(fulltext)内で検索するサブテキストを指定します。
3247:: 例
3248:: 関数
3249:: 結果
3250:: substring_count('Sunday', 'day')
3251:: 1


3252:: サブテキストのインデックス

3253:: substring_index3254:: (3255:: fulltext3256:: ,3257:: delimiter3258:: ,3259:: count3260:: )

3261:: 1番目のパラメーター(fulltext)から、2番目のパラメーター(delimiter)で指定した区切り文字の前に現れるサブテキストを出力します。区切り文字の出現回数は、3番目のパラメーター(count)で指定します。

3262:: パラメーター
3263:: 名前
3264:: 説明

3265:: fulltext

3266:: テキスト

3267:: すべてのパラメーターにテキスト、テキストの列、テキストを出力する式のいずれかを指定する必要があります。

3268:: delimiter

3269:: テキスト

3270:: 区切り文字を指定します。

3271:: count

3272:: 数値

3273:: サブテキストを抽出する位置より前にある区切り文字の数を指定する数値です。
3274:: 例
3275:: 関数
3276:: 結果
3277:: substring_index('how.are.you', '.' , 1)
3278:: how


3279:: 単一行への変換

3280:: to_single_line3281:: (3282:: param3283:: )

3284:: 複数行のテキストを単一行に変換して返します。

3285:: パラメーター
3286:: 名前
3287:: 説明

3288:: param

3289:: テキスト

3290:: パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
3291:: 例
3292:: 関数
3293:: 結果
3294:: to_single_line('Zoho\n\n\nOne\n\n')
3295:: Zoho One


3296:: 文字数

3297:: char_length3298:: (3299:: param3300:: )

3301:: 文字列データの文字数、またはバイナリデータのバイト数を返します。文字列データの文字数には末尾の空白が含まれます。バイナリデータの長さにはバイナリのゼロ値が含まれます。

3302:: パラメーター
3303:: 名前
3304:: 説明

3305:: param

3306:: テキスト

3307:: パラメーターには文字列式を指定する必要があります。
3308:: 例
3309:: 関数
3310:: 結果
3311:: char_length('Spark SQL ')
3312:: 10
3313:: char_length(x'537061726b2053514c')
3314:: 9
3315:: CHAR_LENGTH('Spark SQL ')
3316:: 10
3317:: CHARACTER_LENGTH('Spark SQL ')
3318:: 10


3319:: 文字列の長さ

3320:: character_length3321:: (3322:: param3323:: )

3324:: 文字列データの文字数、またはバイナリデータのバイト数を返します。文字列データの文字数には末尾の空白が含まれます。バイナリデータの長さにはバイナリのゼロ値が含まれます。

3325:: パラメーター
3326:: 名前
3327:: 説明

3328:: param

3329:: テキスト

3330:: パラメーターには文字列式を指定する必要があります。
3331:: 例
3332:: 関数
3333:: 結果
3334:: char_length('Spark SQL ')
3335:: 10
3336:: char_length(x'537061726b2053514c')
3337:: 9
3338:: CHAR_LENGTH('Spark SQL ')
3339:: 10
3340:: CHARACTER_LENGTH('Spark SQL ')
3341:: 10


3342:: 文字への変換

3343:: chr3344:: (3345:: num3346:: )

3347:: 指定した数値に対応するバイナリ値を持つASCII文字を返します。数値が256より大きい場合、結果はchr(n % 256)と同じになります。

3348:: パラメーター
3349:: 名前
3350:: 説明

3351:: num

3352:: 数値

3353:: ASCIIコードを表す数値式です。
3354:: 例
3355:: 関数
3356:: 結果
3357:: chr(65)
3358:: A


3359:: セット内検索

3360:: find_in_set3361:: (3362:: str3363:: ,3364:: str_array3365:: )

3366:: コンマ区切りのリスト内で、指定した文字列の位置を1から始まる番号で返します。文字列が見つからない場合や、文字列にコンマが含まれる場合は0を返します。

3367:: パラメーター
3368:: 名前
3369:: 説明

3370:: str

3371:: テキスト

3372:: 検索する文字列です。文字列にコンマが含まれる場合は0を返します。

3373:: str_array

3374:: テキスト

3375:: 検索対象となる、コンマ区切りの文字列リストです。
3376:: 例
3377:: 関数
3378:: 結果
3379:: find_in_set('ab', 'abc,b,ab,c,def')
3380:: 3
3381:: find_in_set('x', 'a,b,c')
3382:: 0


3383:: JSONオブジェクトの取得

3384:: get_json_object3385:: (3386:: json_txt3387:: ,3388:: path3389:: )

3390:: 指定したJSONパス式を使用して、指定したJSON文字列からJSONオブジェクトを抽出します。

3391:: パラメーター
3392:: 名前
3393:: 説明

3394:: json_txt

3395:: テキスト

3396:: データの抽出元となる有効なJSON文字列です。

3397:: path

3398:: テキスト

3399:: 抽出するオブジェクトを指定するJSONパス式です。
3400:: 例
3401:: 関数
3402:: 結果
3403:: get_json_object('{'a':'b'}', '$.a')
3404:: b


3405:: Base64

3406:: base643407:: (3408:: input3409:: )

3410:: 入力文字列またはバイナリデータをBase64形式の文字列にエンコードします。

3411:: パラメーター
3412:: 名前
3413:: 説明

3414:: input

3415:: テキスト

3416:: Base64形式でエンコードする入力文字列またはバイナリデータです。
3417:: 例
3418:: 関数
3419:: 結果
3420:: base64('Spark SQL');
3421:: U3BhcmsgU1FM
3422:: base64(x'537061726b2053514c');
3423:: U3BhcmsgU1FM

3424:: 日付と時間の関数

3425:: 現在の日付

3426:: current_date3427:: ()

現在の日付を日付値として返します。この関数はパラメーターを受け取りません。

例
関数
結果
current_date()
09/21/2019


現在のタイムスタンプ

current_timestamp()

現在のタイムスタンプを日時値として返します。この関数はパラメーターを受け取りません。

例
関数
結果
current_timestamp()
09/19/2019 19:18:55


日付形式

date_format(日付,形式)

日時スタンプを、パラメーターで指定した形式に変換します。

パラメーター
名前
説明

日付

日時

形式を変更する日付、日時の列のいずれかを指定します。

形式

テキスト

関数から返される日付の形式を指定します。
例
データ列
2017-06-15
関数
結果
date_format(データ列, 'dd MMM, yyyy')
15 6月, 2017


月の日

day_of_month(日付)

指定した日付の日を返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
2009-03-24
関数
結果
day_of_month(データ列)
24


曜日

day_of_week(日付)

入力した日付の曜日を出力します。[1=日曜、2=月曜、3=火曜、4=水曜、5=木曜、6=金曜、7=土曜]

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
06-12-2018
関数
結果
day_of_week(データ列)
5


数値で表した曜日

weekday(日付)

入力した日付の曜日を出力します。

パラメーター
名前
説明

日付

日時

パラメーターには日付、日時の列のいずれかを指定する必要があります。
例
データ列
06 12月 2018
関数
結果
weekday(データ列);
3


曜日名

day_of_week_name(日付)

指定した日付の曜日名を返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
2018年12月6日
関数
結果
day_of_week_name(データ列)
木曜


年の何日目

day_of_year(日付)

日付が年の何日目かを数値で返します/timestamp.

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
25-03-2009
関数
結果
day_of_year(データ列)
84


時

hour(日時)

タイムスタンプの時の部分を返します。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-03-07 20:18:34:543
関数
結果
hour(データ列)
20


月の最終日

last_day(日時)

指定した日付の月末日を返します。

パラメーター
名前
説明

日時

日時

日付、日時の列のいずれかを指定します。
例
データ列
2016-04-09
関数
結果
last_day(データ列)
2016-04-30


分

minute(日時)

タイムスタンプの分を返します。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 12:58:59
関数
結果
minute(データ列)
58


1日の経過分

minute_of_day(日時)

タイムスタンプから、1日の経過分を返します。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 12 58 59
関数
結果
minute_of_day(データ列)
778


1時間の経過分

minute_of_hour(日時)

タイムスタンプから、1時間の経過分を返します。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 12 58 59
関数
結果
minute_of_hour(データ列)
58


1日の経過ミリ秒

millisecond_of_day(日時)

タイムスタンプから、1日の経過ミリ秒を返します。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 00 03 00
関数
結果
millisecond_of_day(データ列)
180,000


秒内のミリ秒

millisecond_of_second(datetime)

タイムスタンプから秒内のミリ秒を返します。

パラメーター
名前
説明

datetime

日時

日時の列を指定します。
例
データ列
2009-07-30 12 58 59 850
関数
結果
millisecond_of_second(データ列)
850


うるう年の判定

is_leap_year(date)

うるう年の場合はtrue、それ以外の場合はfalseを返します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。
例
データ列
2016-04-09
関数
結果
is_leap_year(日付列)
true


月

month(date)

日付から月を抽出します/timestamp.

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。
例
データ列
11月04
2016
関数
結果
month(データ列)
11


月名

month_name(date)

日付の月名を返します/timestamp.

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。
例
データ列
1997-02-28
関数
結果
month_name(データ列)
2月


年と月

month_year(日付)

日付/timestampの月名を年とともに返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
1997-02-28
関数
結果
month_year(データ列)
1997年2月


日付間の月数

months_between(日付1,日付2)

指定した2つの日付の間に含まれる月数を返します。

パラメーター
名前
説明

日付1

日時

月数の差を算出する基準となる、日付、日時の列のいずれかを指定します。

日付2

日時

月数の差を算出する基準となる、日付、日時の列のいずれかを指定します。
例
データ列1
1997-02-28
データ列2
1997-10-28
関数
結果
months_between('データ列1', 'データ列2')
8


四半期

quarter(日付)

日付から、その年の四半期を1~4の数値で抽出します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
2016-08-31
関数
結果
quarter(データ列)
3


四半期名

quarter_name(日付)

日付からその年の四半期を抽出し、Q1~Q4の形式で返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
2016-08-31
関数
結果
quarter_name(データ列)
Q3


年の四半期

quarter_year(日付)

日付から年と四半期(1~4の範囲)を抽出します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
2016-08-31
関数
結果
quarter_year(データ列)
Q3, 2016


秒

second(日時)

日時から秒の部分を返します。入力内容には、ミリ秒単位のUnixタイムスタンプも使用できます。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 12:58:59
関数
結果
second(データ列)
59


1日の経過秒数

second_of_day(日時)

タイムスタンプから、その日の経過秒数を返します。入力内容には、ミリ秒単位のUnixタイムスタンプも使用できます。

パラメーター
名前
説明

日時

日時

日時の列を指定します。
例
データ列
2009-07-30 00 11 00
関数
結果
second_of_day(データ列)
660


年の週番号

week_of_year(日付,startDay,week_mode)

日付またはタイムスタンプから、年の週番号を数値で返します(週は月曜から始まり、第1週は4日以上を含む最初の週です)。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。

startDay

数値

[任意]週の開始曜日を指定します。値は次の順序で1~7の範囲です。[1=日曜、2=月曜、3=火曜、4=水曜、5=木曜、6=金曜、7=土曜]。初期値は1です。

week_mode

数値

[任意]週モードによって、関数の動作が決まります。指定できる値は「1」(ISO週モード:最低4日)と「2」(暦年の1月1日から週を開始)です。初期値は1です。
例
データ列
06/12/2018
関数
結果
week_of_year(データ列, 1, 1)
49


月の週番号

week_of_month(date)

入力した日付が月の何週目かを出力します。

パラメーター
名前
説明

date

日時

日付または日時を指定します。
例
データ列
06/13/2018
関数
結果
week_of_month(データ列)
第2週


年を含む年間の週番号

week_of_year_with_year(datetime,startDay,week_mode)

入力した日付の週番号と年を出力します。年間で通算して何週目であるかを計算して出力します。

パラメーター
名前
説明

datetime

日時

パラメーターには日時の列を指定する必要があります。

startDay

数値

[任意]週の開始曜日を指定します。値には、次の順序で1~7を指定できます。[1=日曜、2=月曜、3=火曜、4=水曜、5=木曜、6=金曜、7=土曜]。初期値は1です。

week_mode

数値

[任意]週の算出方法を指定します。指定できる値は、「1」(ISO週モード:最初の週を4日以上とする)、「2」(暦年の1月1日から週を開始する)です。初期値は1です。
例
データ列
2018年12月6日
2019年11月17日
関数
結果
week_of_year_with_year(データ列, 1, 1)
2018年第49週、2019年第46週


年

year(date)

入力した日付の年を出力します。

パラメーター
名前
説明

date

日時

パラメーターには日付または日時の列を指定する必要があります。
例
データ列
2018年12月6日
2019年11月17日
関数
結果
year(データ列)
2018、2019


世紀

century(date)

指定された日付または日時の入力値の世紀を返します。

パラメーター
名前
説明

date

日時

パラメーターは日付型または日時型である必要があります。
例
データ列
2018年12月06日
2019年11月17日
関数
結果
century(データ列)
21


日付の抽出

extract_date(datetime)

指定された日付列または日時列から日付部分を返します。

パラメーター
名前
説明

datetime

日時

パラメーターは日時型、または日時を返す式である必要があります。
例
データ列
2009-03-17 20 18 34 543
関数
結果
extract_date(データ列)
2009-03-17


時刻の抽出

extract_time(datetime)

指定された日時列から時刻部分を返します。

パラメーター
名前
説明

datetime

日時

パラメーターは日時型、または日時を返す式である必要があります。
例
データ列
2009-05-07 12 03 34
関数
結果
extract_time(データ列)
12:03:34


年数の追加

add_years(datetime,num_of_years,...)

指定した年数を日時の値に追加します。

パラメーター
名前
説明

datetime

日時

年数を加算する日時列を指定します。

num_of_years

小数

タイムスタンプ値に加算する年数を指定します。
例
データ列
03/25/2009
関数
結果
add_years(データ列, '3')
03/25/2012


年数の減算

sub_years(datetime,num_of_years,...)

指定された日時の値から、指定した年数を減算します。

パラメーター
名前
説明

datetime

日時

減算する日時の列または特定の日付を指定します。

num_of_years

小数

タイムスタンプの値から減算する年数を指定します。
例
データ列
06/12/2018
関数
結果
sub_years(データ列, '3')
06/12/2015


年数の差

diff_in_years(startDate,endDate)

開始日と終了日の間の年数を返します。

パラメーター
名前
説明

startDate

日時

日付の列または日時の列、特定の開始日、または結果が日付の値になる式を指定します。

endDate

日時

日付の列または日時の列、特定の終了日、または結果が日付の値になる式を指定します。
例
データ列1
2013-08-10
データ列2
2009-03-07
関数
結果
diff_in_years(データ列1, データ列2)
4


週数の追加

add_weeks(datetime,num_of_weeks,...)

指定された日時の値に、指定した週数を追加します。

パラメーター
名前
説明

datetime

日時

値を加算する日時の列を指定します。

num_of_weeks

小数

タイムスタンプの値に加算する週数を指定します。
例
データ列
03/25/2009
関数
結果
add_weeks(データ列, '2')
04/08/2009


週の減算

sub_weeks(datetime,num_of_weeks,...)

指定した日時の値から、指定した週数を減算します。

パラメーター
名前
説明

datetime

日時

減算の対象となる日時列または特定の日付を指定します。

num_of_weeks

小数

タイムスタンプの値から減算する週数を指定します。
例
データ列
06/12/2018
関数
結果
sub_weeks(データ列, '2')
11/22/2018


週単位の差

diff_in_weeks(startDate,endDate)

開始日から終了日までの週数を返します。

パラメーター
名前
説明

startDate

日時

日付列または日時列、特定の開始日、もしくは日付の値を返す式を指定します。

endDate

日時

日付列または日時列、特定の終了日、もしくは日付の値を返す式を指定します。
例
データ列1
2009-08-10
データ列2
2009-09-17
関数
結果
diff_in_weeks(データ列1, データ列2)
7


月の追加

add_months(date,num_of_months,...)

入力した日付の値に、指定した月数を追加した値を出力します。

パラメーター
名前
説明

date

日時

日付列または日時列を指定します。

num_of_months

小数

日付の値に追加する月数を指定します。
例
データ列
2009-11-25
関数
結果
add_months(データ列, `3`)
2010-02-25


月の減算

sub_months(datetime,num_of_months,...)

指定した日付の値から、指定した月数を減算します。

パラメーター
名前
説明

datetime

日時

日付、日時の列のいずれかを指定します。

num_of_months

小数

日付から減算する月数を指定します。
例
データ列
19/12/2016
関数
結果
sub_months(データ列, '3')
19/09/2016


月数の差

diff_in_months(startDate,endDate)

startDateとendDateの間に含まれる月数を返します。

パラメーター
名前
説明

startDate

日時

日付、日時の列のいずれかを指定します。

endDate

日時

日付、日時の列のいずれかを指定します。
例
データ列1
2009-08-17
データ列2
2009-03-10
関数
結果
diff_in_months(データ列1, データ列2)
5


日の追加

add_days(date,num_of_days,...)

指定した日付の値に、指定した日数を追加します。

パラメーター
名前
説明

date

日時

日数を加算する日付、日時の列のいずれかを指定します。

num_of_days

小数

日付に加算する日数を指定します。
例
データ列
12/25/2009
関数
結果
add_days(データ列, `30`)
01/24/2010


日数の減算

sub_days(date,num_of_days,...)

指定した日付の値から、指定した日数を減算します。

パラメーター
名前
説明

date

日時

日数を減算する日付または日時の列を指定します。

num_of_days

小数

日付から減算する日数を指定します。
例
データ列
2009-12-25
関数
結果
sub_days(データ列, '5')
2009-12-20


日数の差

diff_in_days(startDate,endDate)

startDateとendDateの間の日数を返します。

パラメーター
名前
説明

startDate

日時

日付または日時の列を指定します。

endDate

日時

日付または日時の列を指定します。
例
データ列1
2009-03-10
データ列2
2009-03-07
関数
結果
diff_in_days(データ列1, データ列2)
3


時間の追加

add_hours(datetime,num_of_hours,...)

指定した日付または日時の列に、指定した時間数を追加します。

パラメーター
名前
説明

datetime

日時

時間を追加する日時の列を指定します。

num_of_hours

小数

値に追加する時間数を指定します。
例
データ列
12/08/2018 07:58:59
関数
結果
add_hours(データ列, '3')
12/08/2018 10:58:59


時間の減算

sub_hours(datetime,num_of_hours,...)

指定した日付の値から、指定した時間数を減算します。

パラメーター
名前
説明

datetime

日時

減算対象の日時の列を指定します。

num_of_hours

小数

タイムスタンプの値から減算する時間数を指定します。
例
データ列
1965-07-27 11 58 59
関数
結果
sub_hours(データ列, 3)
1965-07-27 8:58:59


時間差

diff_in_hours(startDateTimestamp,endDateTimestamp)

startDateのタイムスタンプとendDateのタイムスタンプの間に含まれる時間数を返します。

パラメーター
名前
説明

startDateTimestamp

日時

日時の列を指定します。

endDateTimestamp

日時

日時の列を指定します。
例
データ列1
2009-03-07 23 20 40 600
データ列2
2009-03-07 20 18 34 543
関数
結果
diff_in_hours(データ列1, データ列2)
3


分の追加

add_minutes(datetime,num_of_minutes,...)

指定した日時の値に、指定した分数を追加します。

パラメーター
名前
説明

datetime

日時

加算対象の日時の列を指定します。

num_of_minutes

小数

タイムスタンプの値に追加する分数を指定します。
例
データ列
12/08/2018 11:58:59
関数
結果
add_minutes(データ列, '2')
12/08/2018 12:00:59


分の減算

sub_minutes(datetime,num_of_minutes,...)

指定された日時の値から、指定した分数を減算します。

パラメーター
名前
説明

datetime

日時

減算する日時の列を指定します。

num_of_minutes

小数

タイムスタンプの値から減算する分数を指定します。
例
データ列
2018-07-18 00 10 00
関数
結果
sub_minutes(データ列, 2)
2018-07-18 00:08:00


分単位の差

diff_in_minutes(startDateTimestamp,endDateTimestamp)

startDateタイムスタンプとendDateタイムスタンプの間の分数を返します。

パラメーター
名前
説明

startDateTimestamp

日時

日時の列を指定します。

endDateTimestamp

日時

日時の列を指定します。
例
データ列1
2009-03-07 20 20 34 600
データ列2
2009-03-07 20 18 34 543
関数
結果
diff_in_minutes(データ列1, データ列2)
2


秒の追加

add_seconds(datetime,num_of_seconds,...)

指定された日時の値に、指定した秒数を追加します。

パラメーター
名前
説明

datetime

日時

加算する日時の列を指定します。

num_of_seconds

小数

タイムスタンプの値に追加する秒数を指定します。
例
データ列
03/25/2009 11:58:49
関数
結果
add_seconds(データ列, '10')
03/25/2009 11:58:59


秒の減算

sub_seconds(datetime,num_of_seconds,...)

指定した秒数を、指定された日時の値から減算します。

パラメーター
名前
説明

datetime

日時

減算対象の日時の列を指定します。

num_of_seconds

小数

タイムスタンプの値から減算する秒数を指定します。
例
データ列
06/12/2018 00 03 00
関数
結果
sub_seconds(データ列, '10')
06/12/2018 00:02:50


秒単位の差

diff_in_seconds(startDateTimestamp,endDateTimestamp)

startDateのタイムスタンプとendDateのタイムスタンプの間の秒数を返します。

パラメーター
名前
説明

startDateTimestamp

日時

日時の列を指定します。

endDateTimestamp

日時

日時の列を指定します。
例
データ列1
2009-03-07 20 20 36 600
データ列2
2009-03-07 20 20 34 543
関数
結果
diff_in_seconds(データ列1, データ列2)
02


UNIXタイムスタンプへの変換

to_unix_timestamp(date)

指定された日時の値のUNIXタイムスタンプを返します。

パラメーター
名前
説明

date

日時

日付の列または日時の列を指定します。
例
データ列
06/12/2018 00 03 00
関数
結果
to_unix_timestamp(データ列)
1544034780


形式を指定した日付の抽出

extract_date_with_format(datetime,format)

日付列から、指定した形式で日付部分を返します。

パラメーター
名前
説明

datetime

日時

パラメーターには日付、日時の列のいずれかを指定する必要があります。

format

テキスト

関数で日付を抽出する際の形式を指定します。
例
データ列
2009-05-17
関数
結果
extract_date_with_format(データ列, 'dd-MM-yyyy')
17-05-2009


形式を指定した時間の抽出

extract_time_with_format(datetime,format)

日時列から、指定した形式で時間部分を返します。

パラメーター
名前
説明

datetime

日時

必須パラメーターです。日時型の列を指定する必要があります。

format

テキスト

必須パラメーターです。抽出する時間形式を表すテキストを指定する必要があります。
例
データ列
2009-05-07 12 03 34 433
関数
結果
extract_time_with_format(データ列, 'hh:mm:ss:SSS')
12:03:34:433


過去N日以内の判定

is_last_nday(date,num)

入力した1番目のパラメーター(date)の日付が、今日からさかのぼって2番目のパラメーター(num)で指定した日数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

日数を指定します。
例
データ列
06/15/2020
関数
結果
is_last_nday(データ列, 10)
false


過去Nか月以内

is_last_nmonth(date,num)

入力した1番目のパラメーター(date)の日付が、今月からさかのぼって2番目のパラメーター(num)で指定した月数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

月数を指定します。
例
データ列
05/15/2020
関数
結果
is_last_nmonth(データ列, 3)
false


過去N四半期以内

is_last_nquarter(date,num)

入力した1番目のパラメーター(date)の日付が、今四半期からさかのぼって2番目のパラメーター(num)で指定した四半期数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

四半期数を指定します。
例
データ列
05/15/2020
関数
結果
is_last_nquarter(データ列, 3)
false


過去N年以内

is_last_nyear(date,num)

入力した1番目のパラメーター(date)の日付が、今年からさかのぼって2番目のパラメーター(num)で指定した年数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

年数を指定します。
例
データ列
06/15/2019
関数
結果
is_last_nyear(データ列, 10)
false


今月かどうか

is_current_month(日付)

指定した日付または日時の値が今月に含まれる場合、trueを返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
06/15/2020
関数
結果
is_current_month(データ列)
false


現在の四半期かどうか

is_current_quarter(日付)

指定した日付または日時の値が現在の四半期に含まれる場合、trueを返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
07/15/2000
関数
結果
is_current_quarter(データ列)
false


今週かどうか

is_current_week(日付,startDay)

指定した日付または日時の値が今週に含まれる場合、trueを返します。週の開始日はデフォルトで日曜です。この値は「startDay」パラメーターを使用して変更できます。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。

startDay

数値

週の開始日を指定します。値には、次のとおり0~6を指定できます。[0=日曜、1=月曜、2=火曜、3=水曜、4=木曜、5=金曜、6=土曜]
例
データ列
06/15/2020
関数
結果
is_current_week(データ列, 1)
false


今年かどうか

is_current_year(日付)

指定した日付または日時の値が今年に含まれる場合、trueを返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。
例
データ列
07/15/2000
関数
結果
is_current_year(データ列)
false


次のN日間に含まれるか

is_next_nday(date,num)

入力した1番目のパラメーター(date)の日付が、今日以降の2番目のパラメーター(num)で指定した日数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

日数を指定します。
例
データ列
06/18/2020
関数
結果
is_next_nday(データ列, 10)
false


次のNか月に含まれるか

is_next_nmonth(date,num)

入力した1番目のパラメーター(date)の日付が、今月以降の2番目のパラメーター(num)で指定した月数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

月数を指定します。
例
データ列
06/18/2020
関数
結果
is_next_nmonth(データ列, 3)
false


次のN四半期に含まれるか

is_next_nquarter(date,num)

入力した1番目のパラメーター(date)の日付が、今四半期以降の2番目のパラメーター(num)で指定した四半期数の範囲内である場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

四半期数を指定します。
例
データ列
06/18/2020
関数
結果
is_next_nquarter(データ列, 1)
false


今後N年以内かどうか

is_next_nyear(date,num)

指定した日付値が今年から今後N年以内に該当する場合、trueを返します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

num

数値

年数を指定します。
例
データ列
06/15/2020
関数
結果
is_next_nyear(データ列, 2)
false


開始日

start_date(date,unit)

指定した日付単位を使用して、指定した日付値の開始日を返します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

unit

テキスト

日付列の単位を指定します。日付単位には、'week'、'week_sunday'、'week_monday'、'month'、'quarter'、'year'を指定できます。
例
データ列
28/10/2020
関数
結果
start_date(データ列, 'month')
01/10/2020


終了日

end_date(date,units)

指定した日付単位を使用して、指定した日付値の終了日を返します。

パラメーター
名前
説明

date

日時

関数を適用する日付または日時の列のいずれかを指定します。

units

テキスト

日付列の単位を指定します。日付単位には、'week'、'week_sunday'、'week_monday'、'month'、'quarter'、'year'を指定できます。
例
データ列
2018-08-27
関数
結果
end_date(データ列, 'month')
2018-08-31


明日

tomorrow()

明日の日付を返します。

例
関数
結果
tomorrow();
02/06/2020


昨日

yesterday()

昨日の日付を出力します。

例
関数
結果
yesterday();
28/05/2020


年と週

year_week(date)

入力した日付の年と週を出力します。

パラメーター
名前
説明

date

日時

パラメーターには日付、日時の列のいずれかを指定する必要があります。
例
データ列
2018年12月6日
2018年11月17日
関数
結果
year_week(データ列);
201848, 201846


今週の開始日

first_date_current_week(date,startDay)

今週の開始日を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

startDay

数値

週の開始曜日を指定します。値の範囲は、次の順で0~6です。[0 = 日曜、1 = 月曜、2 = 火曜、3 = 水曜、4 = 木曜、5 = 金曜、6 = 土曜]
例
データ列
2013年10月11日
関数
結果
first_date_current_week(`データ列`, 4)
2013年10月9日


前週かどうか

is_previous_week(date,startDay)

入力した1番目のパラメーター(date)の日付が、2番目のパラメーター(startDay)で指定した曜日を開始日とする前週に含まれる場合、真を出力します。

パラメーター
名前
説明

date

日時

日付、日時の列のいずれかを指定します。

startDay

数値

週の開始曜日を指定します。値の範囲は、次の順で0~6です。[0 = 日曜、1 = 月曜、2 = 火曜、3 = 水曜、4 = 木曜、5 = 金曜、6 = 土曜]
例
データ列
2100年11月10日
関数
結果
is_previous_week(`データ列`, 0)
false


翌週かどうか

is_next_week(date,startDay)

指定した日付の値が、週の開始曜日に基づいて翌週に該当する場合、真(true)を出力します。

パラメーター
名前
説明

date

日時

日付列または日時列を指定します。

startDay

数値

週の開始曜日を指定します。値は0から6までで、対応は次のとおりです。[0 = 日曜、1 = 月曜、2 = 火曜、3 = 水曜、4 = 木曜、5 = 金曜、6 = 土曜]
例
データ列
1900年11月20日
関数
結果
is_next_week(`データ列`, 1)
false


現在の時間

current_time()

現在の時間を出力します。この関数にパラメーターはありません。

例
関数
結果
current_time()
19:18:55


日付の解析

parse_date(date,outputFormat,inputFormats,...)

解析する日付の値が、指定した入力形式のいずれかに一致する場合、日付を指定した形式で出力します。

パラメーター
名前
説明

date

テキスト

さまざまな形式の日付が含まれる入力列を指定します。列のデータ型は問いません。

outputFormat

テキスト

指定した日付の解析後の出力日付形式を指定します。

inputFormats

テキスト

複数のパラメーターを指定できます。各パラメーターには、入力列に含まれる既存の日付形式を指定します。
例
dateCol
月 23 3月 2020
17/02/2020
03/21/2020
04/24/2020 16_25
関数
結果
parse_date(dateCol, 'EEE dd MMM,yyyy', 'dd/MM/yyyy', 'MM/dd/yyyy', 'MM/dd/yyyy', MM/dd/yyyy HH_mm)
月 23 3月,2020, 月 17 2月,2020, 土 21 3月,2020


タイムゾーンの変換

convert_timezone(datetime,current_tz,convert_tz)

変換後のタイムゾーンにおける日時の値を出力します。

パラメーター
名前
説明

datetime

日時

日時の列を指定します。

current_tz

テキスト

現在のタイムゾーンの値を「hh:mm」の形式で指定します。

convert_tz

テキスト

現在のタイムゾーンと変換後のタイムゾーンとの時間差を指定します。
例
データ列
2004-01-01 12 00 00
関数
結果
convert_timezone(データ列,'+00:00','+10:00')
2004-01-01 22:00:00


秒から時間への変換

sec_to_time(seconds)

指定した秒数を時間に変換し、「HH:mm:ss」の形式で出力します。指定した数値が負の場合は、結果の先頭にマイナス記号が追加されます。

パラメーター
名前
説明

seconds

数値

変換する日時の列または正確な秒数を指定します。パラメーターには、ミリ秒単位のUNIXタイムスタンプも指定できます。
例
関数
結果
sec_to_time('86399')
23:59:59


マイクロ秒

microsecond(datetime)

入力した日時の値から、マイクロ秒の値を出力します。

パラメーター
名前
説明

datetime

日時

日時の列を指定します。
例
データ列
1990-08-07 10 35 23 3427
関数
結果
microsecond(データ列)
342,700


日付の作成

make_date(year,numOfDays)

入力した年に日数を追加した日付の値を出力します。

パラメーター
名前
説明

year

数値

年を指定します(数値、数値列、または数値を返す式で指定する必要があります)。

numOfDays

数値

日数を指定します(数値、数値列、または数値を返す式で指定する必要があります)。
例
関数
結果
make_date('2020', '30')
01/30/2020


時間の追加

add_time(datetime,time)

指定した時間を、指定した日時の列に加算します。

パラメーター
名前
説明

datetime

日時

日時の列を指定します。

time

テキスト

日時に加算する時間を指定します。
例
データ列
12/08/2018 07 58 59
関数
結果
add_time(データ列, '01:00:00')
12/08/2018 08:58:59


時間の減算

sub_time(datetime,time)

指定した日時の値から、指定した時間を差し引いた日時を出力します。

パラメーター
名前
説明

datetime

日時

日時の列を指定します。

time

テキスト

日時の値から差し引く時間を指定します。値は`HH:mm:ss`形式で指定できます。
例
データ列
12/08/2018 07 58 59
関数
結果
sub_time(データ列, '01:00:00')
12/08/2018 06:58:59


期間の追加

period_add(yearMonth,numOfMonths)

1つ目のパラメーターに指定した月数を加算し、「年-月」形式で出力します。

パラメーター
名前
説明

yearMonth

数値

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。

numOfMonths

数値

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
period_add(20208,6)
20212


期間の差分

period_diff(yearMonth1,yearMonth2)

2つの年月の差分を月数で出力します。

パラメーター
名前
説明

yearMonth1

数値

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。

yearMonth2

数値

パラメーターには数値、数値の列、数値を出力する式のいずれかを指定する必要があります。
例
関数
結果
period_diff('198608','198602')
6


会計年度

financial_year(日付,月)

会計年度の開始月に基づいて、指定した日付の会計年度を返します。

パラメーター
名前
説明

日付

日時

日付、日時の列のいずれかを指定します。

月

数値

会計年度の開始月を指定します。
例
データ列
09/25/2017
関数
結果
financial_year(データ列, '7')
2018


時間から分への変換

time_to_minute(時間)

指定した時間の値の合計分数を返します。

パラメーター
名前
説明

時間

日時

時間列または日時列を指定します。
例
データ列
11:22:33
関数
結果
time_to_minute('データ列)
682


時間の作成

make_time(num_of_hours,num_of_minutes,num_of_seconds)

指定した時間数、分数、秒数を使用して時間の値を返します。

パラメーター
名前
説明

num_of_hours

数値

時間の値に含める時間数を指定します。

num_of_minutes

数値

時間の値に含める分数を指定します。

num_of_seconds

数値

時間の値に含める秒数を指定します。
例
関数
結果
make_time('11','23','25')
11:23:25


現在の時間帯かどうか

is_current_hour(時間)

指定した時間が現在の時間帯に含まれる場合はtrue、それ以外の場合はfalseを返します。

パラメーター
名前
説明

時間

日時

時間列または日時列を指定します。
例
データ列
02:35:54
関数
結果
is_current_hour(データ列)
false


過去N時間以内

is_last_nhour(time,num_of_hours)

指定した時間が、現在の時間から過去N時間以内に該当する場合はtrueを返します。

パラメーター
名前
説明

time

日時

時間列または日時列を指定します。

num_of_hours

数値

時間数を指定します。
例
データ列
02:35:54
関数
結果
is_last_nhour(データ列,3)
false


今後N時間以内

is_next_nhour(time,num_of_hours)

指定した時間が、現在の時間から今後N時間以内に該当する場合はtrueを返します。

パラメーター
名前
説明

time

日時

時間列または日時列を指定します。

num_of_hours

数値

時間数を指定します。
例
データ列
02:35:54
関数
結果
is_next_nhour(データ列,3)
true


時間の開始

start_of_hour(time)

指定した時間の開始時刻を返します。

パラメーター
名前
説明

time

日時

時間列または日時列を指定します。
例
データ列
10:35:23
関数
結果
start_of_hour(データ列)
10:00:00


時間の終了

end_of_hour(time)

指定した時間の終了時刻を返します。

パラメーター
名前
説明

time

日時

時間列または日時列を指定します。
例
データ列
10:35:23
関数
結果
end_of_hour(データ列)
11:00:00


期間形式での時間の合計

time_sum_in_duration(time1,time2)

2つの時間値の合計をデフォルトの期間形式で返します。

パラメーター
名前
説明

time1

日時

時間列または日時列を指定します。

time2

日時

時間列または日時列を指定します。
例
データ列1
10:00:00
データ列2
20:00:00
関数
結果
time_sum_in_duration('データ列1', 'データ列2')
1.6:0:0.0


期間形式での時間差

time_diff_in_duration(time1,time2)

2つの時間値の差をデフォルトの期間形式で返します。

パラメーター
名前
説明

time1

日時

時間列または日時列を指定します。

time2

日時

時間列または日時列を指定します。
例
データ列1
20:00:00
データ列2
10:00:00
関数
結果
time_diff_in_duration('データ列1', 'データ列2')
0.10:0:0.0


日付の追加

date_add(start_date,num_days)

start_dateからnum_days日後の日付を返します。

パラメーター
名前
説明

start_date

日時

計算を開始する基準日です。

num_days

数値

start_dateに追加する日数です。
例
関数
結果
date_add('2016-07-30', 1)
2016-07-31


日付の減算

date_sub(start_date,num_days)

start_dateのnum_days日前の日付を返します。

パラメーター
名前
説明

start_date

日時

計算の基準となる開始日です。

num_days

数値

start_dateから減算する日数です。
例
関数
結果
date_sub('2016-07-30', 1)
2016-07-29


日付の切り詰め

date_trunc(fmt,ts)

タイムスタンプtsを、形式モデルfmtで指定した単位に切り詰めて返します。

パラメーター
名前
説明

fmt

テキスト

切り詰める単位を表す形式です。対応する値:YEAR、YYYY、YY、QUARTER、MONTH、MM、MON、WEEK、DAY、DD、HOUR、MINUTE、SECOND、MILLISECOND、MICROSECOND。

ts

日時

切り詰め対象の日時値、または有効なタイムスタンプ文字列です。
例
関数
結果
date_trunc('YEAR', '2015-03-05T09:32:05.359')
2015-01-01 00:00:00
date_trunc('MM', '2015-03-05T09:32:05.359')
2015-03-01 00:00:00
date_trunc('DD', '2015-03-05T09:32:05.359')
2015-03-05 00:00:00
date_trunc('HOUR', '2015-03-05T09:32:05.359')
2015-03-05 09:00:00
date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456')
2015-03-05 09:32:05.123


日付の差分

datediff(endDate,startDate)

startDateからendDateまでの日数を返します。

パラメーター
名前
説明

endDate

日時

終了日の式、または有効な日付文字列です。

startDate

日時

開始日の式、または有効な日付文字列です。
例
関数
結果
datediff('2009-07-31', '2009-07-30')
1
datediff('2009-07-30', '2009-07-31')
-1


UNIX時間からの変換

from_unixtime(unix_time,fmt)

指定した形式を使用して、UNIXタイムスタンプを文字列に変換します。

パラメーター
名前
説明

unix_time

小数

指定された形式に変換するUNIXタイムスタンプです。

fmt

テキスト

[任意]使用する日付/time形式のパターンです。省略した場合は「yyyy-MM-dd HH:mm:ss」が使用されます。
例
関数
結果
from_unixtime(0, 'yyyy-MM-dd HH:mm:ss')
1969-12-31 16:00:00
from_unixtime(0)
1969-12-31 16:00:00


最新の日付

greatest_date(日時,日時,...)

指定した式の中から空の値を除外し、最も新しい日付またはタイムスタンプの値を返します。

パラメーター
名前
説明

日時

日時

日付またはタイムスタンプの式のリスト

日時

日時

日付またはタイムスタンプの式のリスト
例
関数
結果
greatest_date(2022-06-15, NULL, 2022-07-01);
2022-07-01


最も古い日付

least_date(日時,日時,...)

指定した式の中から空の値を除外し、最も古い日付またはタイムスタンプの値を返します。

パラメーター
名前
説明

日時

日時

日付またはタイムスタンプの式のリスト

日時

日時

日付またはタイムスタンプの式のリスト
例
関数
結果
least_date(2022-06-15, NULL, 2022-05-01);
2022-05-01

日付と時刻の算術関数

期間から年数への変換

duration_to_years(duration)

指定した期間の値から年数を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。
例
データ列
400.10:35:23
関数
結果
duration_to_years(データ列)
1


期間からか月数への変換

duration_to_months(duration)

指定した期間の値をか月数に換算して返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。
例
データ列
800.10:35:23
関数
結果
duration_to_months(データ列)
26


期間から週数への変換

duration_to_weeks(duration)

指定した期間の値を週数に換算して返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。
例
データ列
800.10:35:23
関数
結果
duration_to_weeks(データ列)
114


期間から日数への変換

duration_to_days(duration)

指定した期間の値を日数に換算して返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。
例
データ列
400.10:35:23
関数
結果
duration_to_days(データ列)
400


期間から時間数への変換

duration_to_hours(duration)

指定した期間の値を時間数に換算して返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。
例
データ列
800.10:35:23
関数
結果
duration_to_hours(データ列)
19,120


期間から分への変換

duration_to_minutes(duration)

指定した期間の値を分単位の数値で返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。
例
データ列
400.10:35:23
関数
結果
duration_to_minutes(データ列)
576,635


期間から秒への変換

duration_to_seconds(duration)

指定した期間の値を秒単位の数値で返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。
例
データ列
400.10:35:23
関数
結果
duration_to_seconds(データ列)
34,598,123


期間への年数の追加

add_years_to_duration(duration,num_of_years,...)

指定した年数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。

num_of_years

数値

期間の値に追加する年数です。
例
データ列
1,000日 11:22:33
関数
結果
add_years_to_duration(データ列, 5)
2,825日 11:22:33


期間への月数の追加

add_months_to_duration(duration,num_of_months,...)

指定した月数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。

num_of_months

数値

期間の値に追加する月数です。
例
データ列
1,000日 11:22:33
関数
結果
add_months_to_duration(データ列, 7)
1,210日 11:22:33


期間への週数の追加

add_weeks_to_duration(duration,num_of_weeks,...)

指定した週数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_weeks

数値

期間の値に追加する週数です。
例
データ列
1,000日 11:22:33
関数
結果
add_weeks_to_duration(データ列, 8)
1,056日 11:22:33


期間への日数の追加

add_days_to_duration(duration,num_of_days,...)

指定した日数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_days

数値

期間の値に追加する日数です。
例
データ列
1,000日 11:22:33
関数
結果
add_days_to_duration(データ列, 8)
1,008日 11:22:33


期間への時間数の追加

add_hours_to_duration(duration,num_of_hours,...)

指定した時間数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_hours

数値

期間の値に追加する時間数です。
例
データ列
1,000日 11:22:33
関数
結果
add_hours_to_duration(データ列, 5)
1,000日 16:22:33


期間への分数の追加

add_minutes_to_duration(duration,num_of_minutes,...)

指定した分数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_minutes

数値

期間の値に追加する分数です。
例
データ列
1,000日 11:22:33
関数
結果
add_minutes_to_duration(データ列, 5)
1,000日 11:27:33


期間への秒数の追加

add_seconds_to_duration(duration,num_of_seconds,...)

指定した秒数を追加した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_seconds

数値

期間の値に追加する秒数です。
例
データ列
1,000日 11:22:33
関数
結果
add_seconds_to_duration(データ列, 5)
1,000日 11:22:38


期間からの年数の減算

sub_years_from_duration(duration,num_of_years,...)

指定した年数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_years

数値

期間の値から減算する年数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_years_from_duration(データ列, 1)
635日 11:22:33


期間から月を減算

sub_months_from_duration(duration,num_of_months,...)

指定した月数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_months

数値

期間の値から減算する月数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_months_to_duration(データ列, 3)
910日 11:22:33


期間から週を減算

sub_weeks_from_duration(duration,num_of_weeks,...)

指定した週数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_weeks

数値

期間の値から減算する週数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_weeks_from_duration(データ列, 10)
930日 11:22:33


期間から日数を減算

sub_days_from_duration(duration,num_of_days,...)

指定した日数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間列を指定します。

num_of_days

数値

期間の値から減算する日数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_days_from_duration(データ列, 30)
970日 11:22:33


期間から時間を減算

sub_hours_from_duration(duration,num_of_hours,...)

指定した時間数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。

num_of_hours

数値

期間の値から減算する時間数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_hours_from_duration(データ列, 3)
1,000日 9:22:33


期間から分を減算

sub_minutes_from_duration(duration,num_of_minutes,...)

指定した分数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。

num_of_minutes

数値

期間の値から減算する分数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_minutes_from_duration(データ列, 10)
1,000日 11:12:33


期間から秒を減算

sub_seconds_from_duration(duration,num_of_seconds,...)

指定した秒数を減算した期間の値を返します。

パラメーター
名前
説明

duration

日時

期間の列を指定します。

num_of_seconds

数値

期間の値から減算する秒数です。
例
データ列
1,000日 11:22:33
関数
結果
sub_seconds_from_duration(データ列, 10)
1,000日 11:22:23


期間形式のタイムスタンプ差

timestamp_diff_in_duration(date1,date2)

2つのタイムスタンプ値の差を期間として返します。

パラメーター
名前
説明

date1

日時

日付、時間、または日時の列を指定します。

date2

日時

日付、時間、または日時の列を指定します。
例
データ列1
17-08-1991 16:15:14
データ列2
17-08-1990 14:15:16
関数
結果
timestamp_diff_in_duration('データ列1', 'データ列2')
365.1:59:58.0


期間の作成

make_duration(num_of_years,num_of_months,num_of_weeks,num_of_days,num_of_hours,num_of_minutes,num_of_seconds)

指定した年数、月数、週数、日数、時間数、分数、秒数を使用して期間の値を返します。いずれかのパラメーターに列または値を指定しない場合は、0を入力します。

パラメーター
名前
説明

num_of_years

数値

期間の値の年数を指定します。

num_of_months

数値

期間の値の月数を指定します。

num_of_weeks

数値

期間の値の週数を指定します。

num_of_days

数値

期間の値の日数を指定します。

num_of_hours

数値

期間の値の時間数を指定します。

num_of_minutes

数値

期間の値の分数を指定します。

num_of_seconds

数値

期間の値の秒数を指定します。
例
関数
結果
make_duration('12','11','23','11','9','10','5')
4882.9:10:5.0

論理関数

If

if(condition,param1,param2)

条件が真の場合はparam1を返し、それ以外の場合はparam2を返します。

パラメーター
名前
説明

condition

真偽値

真偽値を返す式です。

param1

テキスト

任意の値、または任意の種類の列を指定できます。

param2

テキスト

任意の値、または任意の種類の列を指定できます。
例
関数
結果
if(1 < 2, 'a', 'b')
a


空の値(null)の場合

if_null(param1,param2)

param1が空の値(null)の場合はparam2を、それ以外の場合はparam1を出力します。

パラメーター
名前
説明

param1

テキスト

パラメーターには、任意の値または任意の種類の列を指定できます。

param2

テキスト

パラメーターには、任意の値または任意の種類の列を指定できます。
例
関数
結果
if_null(null, 'b')
b


空の値(null)かどうか

is_null(param)

式または列の値がnullまたは空の場合、真を出力します。

パラメーター
名前
説明

param

テキスト

パラメーターには、列または式を指定できます。
例
関数
結果
is_null(null)
true
is_null('A')
false


空の値(null)ではないかどうか

is_not_null(param)

列の値または式がnullまたは空ではない場合、真を出力します。

パラメーター
名前
説明

param

テキスト

パラメーターには、列または式を指定できます。
例
関数
結果
is_not_null(null)
false
is_not_null('A')
true


否定

not(param)

列にNOT論理演算を適用し、指定した真偽値の反対の値を出力します。

パラメーター
名前
説明

param

真偽値

NOT論理演算を適用する真偽値を指定します。
例
関数
結果
not(5 > 3)
false


欠損値かどうか

is_missing(param)

欠損値の場合はtrue、それ以外の場合はfalseを返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、任意のデータの種類の列を指定できます。
例
売上
11
12
' '
67
関数
結果
is_missing(売上)
[false, false, true, false]


有効かどうか

is_valid(param1,param2)

有効な値の場合はtrue、それ以外の場合はfalseを返します。

パラメーター
名前
説明

param1

テキスト

パラメーターには、いずれか1つのデータの種類に準拠する列を指定する必要があります。

param2

テキスト

1番目のパラメーターが有効かどうかの検証に使用するデータの種類を指定します。指定できるデータの種類:テキスト、日付、数値、正の数、パーセント(%)、日時、時間、タイムスタンプ、期間、小数、通貨、長さ、温度、真偽値、メールアドレス、URL、リスト、マップ、独自のデータの種類
例
Column1
'ABC'
'DEF'
'GHI'
関数
結果
is_valid(`Column1`,'text')
TRUE


無効かどうか

is_invalid(param1,param2)

無効な値の場合はtrue、それ以外の場合はfalseを返します。

パラメーター
名前
説明

param1

テキスト

パラメーターには、いずれか1つのデータの種類に準拠する列を指定する必要があります。

param2

テキスト

1番目のパラメーターが無効かどうかの検証に使用するデータの種類を指定します。指定できるデータの種類:テキスト、日付、数値、正の数、パーセント(%)、日時、時間、タイムスタンプ、期間、小数、通貨、長さ、温度、真偽値、メールアドレス、URL、リスト、マップ、独自のデータの種類
例
Column1
'ABC'
'DEF'
'GHI'
関数
結果
is_invalid(`Column1`, 'Number')
TRUE


Coalesce

coalesce(expr,expr,...)

指定した式のリストから、空の値ではない最初の引数を返します。すべての引数が空の値の場合は、空の値を返します。

パラメーター
名前
説明

expr

テキスト

式のリストです。空の値ではない最初の式を返します。

expr

テキスト

式のリストです。空の値ではない最初の式を返します。
例
関数
結果
coalesce(NULL, 1, NULL)
1
coalesce(NULL, NULL, 'Spark')
Spark


And

and(param1,param2)

2つの真偽値式に対して論理積演算を実行します。両方の式が真の場合は真を返します。一方の式が偽の場合、もう一方の式に関係なく結果は偽になります。

パラメーター
名前
説明

param1

真偽値

1つ目の真偽値式または条件

param2

真偽値

2つ目の真偽値式または条件
例
関数
結果
and(true,true)
true
and(true,false)
false
and(true,NULL)
NULL
and(false,NULL)
false

一般関数

長さ

length(param)

テキストパラメーターの文字数を返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
length('NOWHERE')
7


SHA

sha(param)

paramのSHA-1ハッシュ値を16進数のテキストとして返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
sha('Zoho One')
a74457c58f9d3e564bf534d96e1d85d6e513dac4


通貨への変換

to_currency(col,currency)

数値の列を通貨形式および通貨データ型に変換します(通貨間の値の換算にはまだ対応していません)。

パラメーター
名前
説明

col

小数

パラメーターには数値の列、数値を出力する式のいずれかを指定する必要があります。

currency

テキスト

パラメーターには通貨形式を表すテキスト値を指定する必要があります。
例
売上
34.30
343.50
56.30
関数
結果
to_currency(sales, '$')
$34.30, $343.50, $56.30


長さへの変換

to_length(Column,lengthUnit)

数値の列を長さデータ型に変換します。

パラメーター
名前
説明

Column

小数

パラメーターには列の数値、数値を出力する式のいずれかを指定する必要があります。

lengthUnit

テキスト

パラメーターには、変換先の長さの単位を表すテキストを指定する必要があります。
例
列
50
20
30
関数
結果
to_length(Column, 'km')
50km, 20km, 30km


温度への変換

to_temperature(col,tempUnit)

数値の列を温度データ型に変換します。

パラメーター
名前
説明

col

小数

パラメーターには列の数値、数値を出力する式のいずれかを指定する必要があります。

tempUnit

テキスト

パラメーターには変換先の温度の単位を表すテキストを指定する必要があります。
例
col
234.3
343.5
56.3
関数
結果
to_temperature(col, 'K')
234.3K, 343.5K, 56.3K


SHA1

sha1(expr)

exprのSHA-1ハッシュ値を16進文字列で返します。

パラメーター
名前
説明

expr

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。
例
関数
結果
sha1('Spark')
85f5955f4b27a9a4c2aab6ffe5d7189fc298b92c


SHA2

sha2(param,bitLength)

paramのSHA-2ファミリーのチェックサムを16進テキストで返します。

パラメーター
名前
説明

param

テキスト

パラメーターには、テキスト、テキスト列、またはテキストを返す式を指定する必要があります。

bitLength

数値

出力テキストのビット長を指定します。
例
関数
結果
sha2('Zoho One', 256)
d9884b4a991b495936d25876c5c371725d4a2a1a57e20bd99a95f5a88081ed36

リスト関数

サイズ

size(param)

リストのサイズを返します。空の値(null)の場合は-1を返します。

パラメーター
名前
説明

param

リスト

パラメーターには、種類がリストの列、または値のグループをリストとして指定する必要があります。
例
関数
結果
size(['b', 'd', 'c', 'a'])
4


リストの連結

list_concat(param1,param2)

1つ目のリストのすべての要素に、2つ目のリストのすべての要素を続けたリストを返します。入力内容となる2つのリストの項目は、同じデータ構造形式である必要があります。

パラメーター
名前
説明

param1

リスト

連結する2つのリストのうち、1つ目のリストを指定します。

param2

リスト

連結する2つのリストのうち、2つ目のリストを指定します。
例
column1
[1,2,3,4,5]
column2
['A','B,'C','D','E' ]
関数
結果
list_concat(column1, column2)
['1','2','3','4','5','A','B','C','D','E']


リストの重複排除

list_unique(param)

リストから重複する項目を削除してフィルター処理し、処理後のリストを返します。

パラメーター
名前
説明

param

リスト

パラメーターは、リスト型またはリスト列である必要があります。
例
リスト
[30, 40, 50, 30, 70, 30, 90]
関数
結果
list_unique(list)
['40', '50', '70', '90']


リストの積集合

list_intersect(param1,param2)

2つのリストの値を比較し、一致する要素のみを返します。2つのリストの項目は、同じデータ構造形式である必要があります。

パラメーター
名前
説明

param1

リスト

比較元のリストです。

param2

リスト

比較対象のリストです。
例
list1
[1,2,3,4,5]
list2
['A', 1, 'B' ,2, 'C', 3, 'D', 4, 'E']
関数
結果
list_intersect(list1, list2)
['1', '2', '3', '4']


リストの結合

list_zip(param1,param2)

2つの1次元リスト列を多次元リストに変換します。

パラメーター
名前
説明

param1

リスト

パラメーターは、リスト型またはリスト列である必要があります。

param2

リスト

パラメーターは、リスト型またはリスト列である必要があります。
例
list1
['A','B','C']
list2
['D','E','F']
関数
結果
list_zip(list1 , list2)
[['A','D'],['B','E'],['C','F']]


範囲

range(startNum,stopNum,stepNum)

'startNum'から'stopNum'まで、連続する整数の間隔を'stepNum'として整数の配列を生成します。この関数によって1つのセルに1,000個を超える値が生成される場合、出力はヌル値となり、'stopNum'は出力から除外されます。'stepNum'には常に正の整数を指定する必要があります。'startNum'が'stopNum'より大きい場合、ステップは自動的に負の値に変換され、値が減少する範囲が出力されます。

パラメーター
名前
説明

startNum

数値

パラメーターには、数値の列または数値を指定する必要があります。小数は使用できません。

stopNum

数値

パラメーターには、数値の列または数値を指定する必要があります。小数は使用できません。

stepNum

数値

範囲のステップ値を指定します。小数は使用できません。
例
関数
結果
range('2','14','2')
[2, 4, 6, 8, 10, 12]
range('14','2','2')
[14, 12, 10, 8, 6, 4]


リストとしてのネスト

nest_as_list(params,params,...)

入力したパラメーターをリストに変換した値を出力します。

パラメーター
名前
説明

params

テキスト

すべてのパラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。

params

テキスト

すべてのパラメーターには、テキスト、テキストの列、またはテキストを返す式を指定する必要があります。
例
関数
結果
nest_as_list('Arjun', '郵便番号:308-242-0670', 'ステータス:新規入居者')
['Arjun', '郵便番号:99501', 'ステータス:新規入居者']


リストからマップへの変換

lists_to_map(param1,param2)

2つのリストを組み合わせたマップを返します。

パラメーター
名前
説明

param1

リスト

パラメーターには、リスト形式の値またはリストの列を指定する必要があります。

param2

リスト

パラメーターには、リスト形式の値またはリストの列を指定する必要があります。
例
list1
[20, 30]
list2
[A, B]
関数
結果
lists_to_map(list1, list2)
[20 : A , 30 : B]


要素数

cardinality(param)

配列またはマップのサイズを返します。

パラメーター
名前
説明

param

リスト

サイズを返す対象となる、配列またはマップ型の式です。
例
関数
結果
cardinality(array('b', 'd', 'c', 'a'))
4
cardinality(map('a', 1, 'b', 2))
2


配列

array(expr,expr,...)

指定された入力式または値を含む配列を返します。

パラメーター
名前
説明

expr

テキスト

配列にまとめる入力式または値

expr

テキスト

配列にまとめる入力式または値
例
関数
結果
array(101, 102, 103)
[101, 102, 103]


配列に値が含まれるかの確認

array_contains(array,values,...)

指定した1つ以上の値が、対象のリストに存在するかどうかを確認します。値を1つ指定した場合、その値が見つかるとtrueを返します。複数の値を指定した場合、そのうち少なくとも1つが配列内で見つかるとtrueを返します。

パラメーター
名前
説明

array

リスト

パラメーターは、リスト型またはリスト列である必要があります。

values

テキスト

リスト内に存在するかどうかを確認する1つ以上の値です。
例
役割
['Admin', 'Editor', 'Viewer']
権限
['read', 'write', 'delete']
関数
結果
array_contains(Role, 'Editor')
true
array_contains(Role, 'Guest')
false
array_contains(Permissions, 'read', 'write')
true
array_contains(Permissions, 'read', 'share')
false


配列の除外

array_except(array1,array2)

array1の要素のうち、array2に含まれない要素を重複なしの配列で返します。

パラメーター
名前
説明

array1

リスト

array2の要素を除外した後に、残りの要素を保持する入力配列

array2

リスト

array1から削除する要素を含む入力配列
例
array1
[1, 2, 3], ['a', 'b', 'c']
array2
[1, 3, 5], ['b']
関数
結果
array_except([1, 2, 3], [1, 3, 5]);
[2]
array_except(['a', 'b', 'c'], ['b']);
['a', 'c']


配列の積集合

array_intersect(array1,array2)

array1とarray2の両方に含まれる要素を重複なしの配列で返します。

パラメーター
名前
説明

array1

リスト

積集合を求める最初の入力配列

array2

リスト

積集合を求める2番目の入力配列
例
関数
結果
array_intersect([1, 2, 3], [1, 3, 5]);
[1, 3]
array_intersect(['a', 'b', 'c'], ['b', 'c', 'd']);
['b', 'c']

オブジェクト関数

マップとしてのネスト

nest_as_map(params,params,...)

指定されたパラメーターをマップに変換します。各キーと値のペアでは、最初の値がキー、2番目の値が値になります。引数の数は2の倍数にする必要があります。

パラメーター
名前
説明

params

テキスト

複数のパラメーターを受け付けます。すべてのパラメーターを列にする必要があります。

params

テキスト

複数のパラメーターを受け付けます。すべてのパラメーターを列にする必要があります。
例
関数
結果
nest_as_map(['名前', 'Arjun', '郵便番号', '308-242-0670'])
{'名前' : 'Arjun', '郵便番号' : '308-242-0670'}
nest_as_map(['名前', 'Arjun', '郵便番号', '308-242-0670', '市区町村'])
(エラーが返されます)


マップからのキー取得

keys_from_map(param)

関数のパラメーターとして渡されたマップからキーを返します。

パラメーター
名前
説明

param

オブジェクト

パラメーターにはマップを含む列を指定する必要があります。
例
マップ列
key1; value1
key2; value2
key3; value3
関数
結果
keys_from_map(mapColumn)
key1, key2, key3


オブジェクト内のキーの確認

object_contains(param,keys,...)

指定したキーが対象のオブジェクトに存在するかどうかを確認します。すべてのキーが存在する場合にのみtrueを返します。

パラメーター
名前
説明

param

オブジェクト

パラメーターには、マップ型の値またはマップ列を指定する必要があります。

keys

テキスト

オブジェクト内に存在するかどうかを確認する1つ以上のキーです。
例
user_profile
{ 'name': 'Alice'
'role': 'admin'
'active': true }
関数
結果
object_contains(user_profile, 'name')
true
object_contains(user_profile, 'name', 'role')
true
object_contains(user_profile, 'email')
false
object_contains(user_profile, 'name', 'email')
false

演算子

算術演算子と論理演算子を使用して、数式内で2つ以上の関数を結合できます。また、これらの演算子を使用して関数をカスタマイズし、数式列を作成することもできます。使用可能な演算子は次のテーブルのとおりです。

演算子
説明
!
論理否定
!=
次の値と等しくない
%
剰余
&
ビット単位のAND
*
乗算
+
加算
-
減算
/
除算
<
次の値より小さい
<=
次の値以下
<=>
次の値と等しい
<>
次の値と等しくない
=
次の値と等しい
==
次の値と等しい
>
次の値より大きい
>=
次の値以上
^
ビット単位の排他的OR
AND
論理AND
OR
論理OR

制限事項

数値関数では、最大20桁の整数部と15桁の小数部がサポートされています。関数への入力内容がいずれかの上限を超えると、空の値が返されます。

関連情報

すべてのウィンドウ関数のリスト
数式列を追加するには
ウィンドウ関数を適用するには

ピボット変換を適用するには

データをフィルターするには