関数

関数

Zoho Analyticsには、数式の作成に役立つさまざまな関数が用意されています。関数を用いることで、加減乗除などの計算、テキストの結合や抽出、日付形式の変更など、さまざまな処理をデータに適用することが可能です。  このページでは、Zoho Analyticsで使用可能な関数について説明します。 

数式列の標準関数

以下の表は、Zoho Analyticsで数式列を作成する際に使用できる関数の一覧です。関数の適用対象となる列のデータの種類によって分類されています。



日付の関数


関数
説明

Absolute Month - absmonth(日付の列)
日付の値をもとに、「Month, yyyy」の形式で年と月を出力します。
absmonth('2022/8/7') = August, 2022
Absolute Quarter - absquarter(日付の列)
日付の値をもとに、「Quarter, yyyy」の形式で年と四半期を出力します。
absquarter('2022/8/7') = Q3, 2022
Absolute Week - absweek(日付の列)
日付の値をもとに、「Week, yyyy」の形式で年と週を出力します。
absweek('06/04/2022') = W14, 2022
Add Date -
adddate(日付の列, 日数)
日付に、指定した日数を加算した日付を出力します。
adddate('2022/8/7',10) = 2022/8/17
Add Week

addweek(日付の列, 週数)
日付に、指定した週数を加算した日付を出力します。
addweek('2022-08-27',10) = 2022-11-05
Add Month

addmonth(日付の列, 月数)
日付に、指定した月数を加算した日付を出力します。
addmonth('2022-08-27',10) = 2023-06-27
Add Quarter

addquarter(日付の列, 四半期数)
日付に、指定した四半期数を加算した日付を出力します。
addquarter('2022-08-27',10) = 2025-02-27
Add Year

addyear(日付の列, 年数)
日付に、指定した年数を加算した日付を出力します。
addyear('2022-08-27',10) = 2033-08-27
Add Time - addtime(日付の列, 時間)

 

日付に、指定した時間を加算した日付を出力します。

addtime
('2022/02/21 18:23:26', '01:20:10') = 2022/02/21 19:43:36
Add Hours

addhour(日数, 時間数)
日付に、指定した時間を加算した日時を出力します。
addhour('2022-08-27',10) = 2022-08-27 10:00:00
Add Minutes

addminute(日付の列, 分数)
日付に、指定した時間(分)を加算した日時を出力します。
addminute('2022-08-27',10) = 2022-08-27 00:10:00
Add Seconds

addsecond(日付の列, 秒数)
日付に、指定した時間(秒)を加算した日時を出力します。
addsecond('2022-08-27',10) = 2022-08-27 00:00:10
Peroid Add

period_add(年月, 月数)
年月の値に月数を加算し、
「yrmth」の形式で出力します。
period_add(202208,6) = 202302
Age Months

age_months(開始日, 終了日(任意))
2つの日付の間の経過月数を出力します。
age_months('2022-08-27','2022-06-28') = 10
Age Years

age_years(開始日, 終了日(任意))
2つの日付の間の経過年数を出力します。
age_years('2022-08-27','2027-08-03') = 4
Business Completion Day

business_completion_day(開始日, 日数, 除外する曜日(任意))
日付に対し、週末/休日を除いた日数を加算した日付を出力します(週末/休日として扱う曜日は指定できます)。週末j/休日を指定しない場合、初期設定で土曜日と日曜日が週末と見なされます。
business_completion_day('2022-01-01',10) = 2022-01-15
Business Days

business_days(開始日, 終了日, 除外する曜日(任意))
2つの日付の間の営業日数を出力します(週末/休日として扱う曜日は指定できます)。週末を指定しない場合、初期設定で土曜日と日曜日が週末/休日と見なされます。
business_days('2022-01-27','2022-08-03') = 134

Business Hours

business_hours(開始日時, 終了日時, 営業開始時間, 営業終了時間, 除外する曜日(任意))

2つの日付の間の営業時間数を出力します(週末/休日として扱う曜日や1日の営業開始/終了時間は指定できます)。週末/週末を指定しない場合、初期設定で土曜日と日曜日が週末と見なされます。
business_hours('2022-01-27 10:00:00','2022-08-03 08:00:00','09:00:00','10:00:00','1000001') = 134
Convert String to Date

convert_string_to_date(テキストの列, 日付形式)
テキストを日付に変換し、指定した形式で出力します。
convert_string_to_date('24/12/2022', '%d/%m/%Y') = 2022-12-24
Convert to Datetime

convert_to_datetime(テキストの列, 日付形式)
指定した日付形式に基づいて、テキストの値を変換して出力します。
convert_to_datetime('2022 Aug 27','yyyy MMM dd') = 27 Aug, 2022
Convert TZ

convert_tz(日付の列, 現在のタイムゾーンのオフセット値, 変換後のタイムゾーンのオフセット値)
タイムゾーンを変換した日時の値を出力します。
convert_tz('2022-01-01 12:00:00','+00:00','+10:00') = 2022-01-01 22:00:00
Current Date

currentdate()
コンピューター/サーバーの現在の日時を出力します。
currentdate() = 15 Sep, 2022 10:06:18
Current Time

current_time()
現在の時間を出力します。
 
Current Timestamp

current_timestamp()
現在の日時を出力します。
 
Now

now()
現在の日時を出力します。
 
Today

today()
今日の日付を出力します。
 
Tomorrow

tomorrow()
明日の日付を出力します。
 
Yesterday

yesterday()
昨日の日付を出力します。
 
UTC date

utc_date()
現在のUTC(協定世界時)の日付を出力します。
 
UTC time

utc_time()
現在のUTC(協定世界時)の時間を出力します。
 
UTC date-time 

utc_timestamp()
現在のUTC(協定世界時)の日時を出力します。
 
Date

date(日付の列)
日時から日付の値を出力します。
date('2022-08-07 14:15:16') = 2022-08-07
Date Format

date_format(日付の列, 変換後の日付形式)
指定した日付形式に基づいて、日付をテキストに変換して出力します。
date_format('2022-08-03','%W %M %Y') = Sunday August 2022
Date and Time Diff  - dateand
timediff(単位, 開始日, 終了日(任意))
指定した単位に基づいて、日付間の差分を出力します。指定できる単位は、YEAR(年)、QUARTER(四半期)、MONTH(月)、WEEK(週)、DAY(日)、HOUR(時)、MINUTE(分)、SECOND(秒)です。
dateandtimediff(DAY, '2022-01-01', '2022-05-01')=120
上記の例は、日付間の差分を日数で出力します。
Date Diff

datediff(日付の列1, 日付の列2)
日付間の差分(日数)を出力します。
datediff('2022/8/11','2021/9/11') = 334
Period Diff

period_diff(年月1, 年月2)
2つの年月の値における差分(月数)を出力します。
period_diff(202208,202202) = 6
Day - day(日付の列)
日付の値から日数の値を出力します。
day( '2022/9/9') = 9 
Day Name

dayname(日付の列)
日付の値から曜日の名前を出力します(例:Sunday(日曜日)、Monday(月曜日)……)。
dayname('2022-08-07') = Sunday
Day of Week

dayofweek(日付の列)
日付の値をもとに、曜日を数値で出力します(例:日曜日=1、月曜日=2、……、土曜日=7)。
dayofweek('2022/9/9') = 6
Day of Month

dayofmonth(日付の列)
日付の値をもとに、月の開始日からの経過日数を出力します。
dayofmonth('2022-08-07') = 7
Day of Quarter

dayofquarter(日付の列)
日付の値をもとに、四半期の開始日からの経過日数を出力します。
dayofquarter('2022-08-07') = 38
Day of Year - dayofyear(日付の列)
日付の値をもとに、年の開始日からの経過日数を出力します(0~365)。
dayofyear('2022/9/2') = 245
Days Between

days_between(開始日, 終了日(任意))
2つの日付の間の差分(日数)を出力します。
days_between('2022-01-27','2022-08-03') = 188
End date

end_day(単位, 日付の列)
日付の値をもとに、指定した単位における最終日を出力します(単位としてmonthを指定した場合、月の最終日を出力します)。
end_day(month,'2022-08-27') = 2022-08-31
First Date Current Week

first_date_current_week(日付の列, 週の開始日(任意))
日付の値をもとに、週の開始日となる日付を出力します。週の開始日として扱う曜日は、数値で指定します(例:1 - 日曜日、2 - 月曜日、……、7 - 土曜日)。指定しない場合、週の開始日として扱う曜日は、日曜日と見なされます。
first_date_current_week('2022-10-11') = 2022-10-09
From Unixtime - fromunixtime(秒)
秒の値からUNIX時間を出力します。
fromunixtime('1000') = 1970/01/01 05:46:40
Hour - hour(日付の列)
日付の値から時間の値を出力します。
hour('2022/8/7 10:35:23') = 10
Last Day - lastday(日付の列)
日付の値をもとに、月の最終日を出力します。
lastday('2022/9/7') = 2022/9/30
Last N Days

last_nday(日付の列, 日数)
日付の値をもとに、指定した日数を減算した日付を出力します。
last_nday('2022-08-04',15) = 2022-07-21
Last N Months

last_nmonth(日付の列, 月数)
日付の値をもとに、指定した月数を減算した日付を出力します。
last_nmonth('2022-08-04',15) = 2021-06-04
Next N Days

next_nday(日付の列, 日数)
日付の値をもとに、指定した日数を加算した日付を出力します。出力する日付は、
指定した日付の値から数えて計算されます。
next_nday('2022-08-04',15) = 2018-08-19
Next N Month

next_nmonth(日付の列, 日数)
日付の値をもとに、指定した月数を加算した日付を出力します。出力する日付は、
指定した日付の値から数えて計算されます。
next_nmonth('2022-08-04',15) = 2023-11-04
Next Weekday

next_weekday(日付の列, 曜日(数値))
日付の値をもとに、週の中で指定した曜日に該当する日付を出力します。
next_weekday('2022-08-01',1) = 2022-07-31
Previous N Day

previous_nday(日付の列, 日数)
日付の値をもとに、指定した日数を減算した日付を出力します。出力する値は、指定した日付の値から数えて計算されます。
previous_nday('2022-08-04',15) = 2022-07-20
Previous N Months

previous_nmonth(日付の列, 日数)
日付の値をもとに、指定した月数を減算した日付を出力します。出力する値は、指定した日付の値から数えて計算されます。
previous_nmonth('2022-08-04',15) = 2022-05-04
Make Date - makedate(年, 日数)
年と日数(0~365)の値から、日付の値を出力します。
makedate('2022','23') = 2022/1/23
Microsecond

microsecond(日付の列)
日時の値からマイクロ秒の値を出力します。
microsecond('2022-08-07 10:35:23.3427') = 342700
Minute - minute(日付の列)
日時の値から分の値を出力します。
minute('2022/8/7 10:35:23') = 35
Second - second(日付の列)
日時の値から秒の値を出力します。
second('2022/9/7 10:35:23') = 23
Modified Time - modifiedtime()    
データの作成日時(データが新しく追加された場合)、または最終更新日時を出力します。この関数を適用すると、数式の作成日時をはじめに出力します。その後、データの更新日時を出力します。
 
Month - month(日付の列)
日付の値から月の名称を出力します。
month('2022/9/7') = September
Month Name

monthname(日付の列)
日付の値から月の名称を出力します。
monthname('2022/9/7') = September
Month Number - monthnum(日付の列)
日付の値から月の数を出力します。
monthnum('2022/9/7') = 9
Months Between

months_between(開始日, 終了日(任意), 出力値の形式(0または1/任意))
2つの日付の値における差分の月数を出力します。この関数では、1か月を31日間として計算します。また、出力値を整数にする場合は、出力形式を指定するための入力値(パラメーター)に「1」を指定します。出力値に小数を含める場合は、「0」を指定します。
months_between('2022-08-27','2027-08-03',1) = 59
Quarter - quarter(日付の列)
日付の値から四半期の値を出力します。
quarter('2022/8/7') = Q3
Quarter Name

quartername(日付の列, 会計年度の開始月(任意))
日付の値から四半期名を出力します。
quartername('2022-08-07') = Q3
Quarter Number

quarternum(日付の列, 会計年度の開始月(任意)) 
日付の値から、四半期を数値で出力します。
quarternum('2022-08-07') = 3
Second to Time

sec_to_time(秒)
秒数を「hh:mm:ss」の形式に変換して出力します。
sec_to_time(86399) = 23:59:59
Second

second(日付の列)
日付の値から秒の値を出力します。
second('2022-08-07 10:35:23') = 23
Start Date

start_day(単位, 日付の列)
日付の値をもとに、指定した単位における開始日を出力します(単位としてmonthを指定した場合、月の初日を出力します)。
start_day(month,'2022-08-27') = 2022-08-01
Sub Date - subdate(日付の列, 日数)
日付の値から、指定した日数を減算した日付を出力します。
subdate('2022/9/15','6') = 2022/9/9
Sub Time - subtime(日付の列,時間)
日時の値から、指定した時間を減算した日時を出力します。
subtime('2022/02/21 18:23:26','01:20:10') = 2022/02/21 17:03:16
Time

time(日付の列)
日時の値から時間の値を出力します。
time('2022-08-07 14:15:16') = 14:15:16
Time Format

time_format(時間, 変換後の時間形式)
時間の値を、指定した形式に変換して出力します。
time_format('19:30:41.32','%H %h %i %s %f') = 19 07 30 41 320000
Time to Sec

time_to_sec(日付の列)
時間の値を秒に変換して出力します。
time_to_sec('2022-08-07 14:15:16') = 51316
Time Diff

timediff(開始日, 終了日)
2つの時間の差分を出力します。
timediff('2022-08-17 16:15:14','2022-08-17 14:15:16') = 01:59:58
Timestamp

timestamp(日付の列)
日付の値から日時を出力します。
timestamp('2022-11-05') = 2022-11-05 00:00:00
Timestamp Add

timestampadd(単位, 数値の列, 日付の列)
指定した単位に基づいて、数値で指定した期間を加算した日時を出力します。
timestampadd(week,1,'2022-11-05 19:00:00') = 2022-11-12 19:00:00
Timestamp Diff

timestampdiff(単位, 開始日, 終了日)
終了日から開始日を減算した値を、
指定した単位で出力します。
timestampdiff(year,'2022-05-01','2021-01-01') = -1
Unix Timestamp

unix_timestamp(日付の列(任意))
指定した日付の値をもとに、「1970-01-01 00:00:00」からの経過時間(秒)を出力します。
unix_timestamp('2022-10-10 12:35:45') = 1665405345
Week

week(日付の列)
日付の値から週の値を出力します。
week('2022-01-14') = 2
Weekday

weekday(日付の列)
日時の値から曜日の値を出力します。
weekday('2022-08-07') = Sunday
Week of Month

weekofmonth(日付の列)
日付の値から、当該月における週番号(その月の第何週かを表す値)を出力します。
weekofmonth('2022-01-14') = 3
Week of Year

weekofyear(日付の列, 週の開始日(任意), 週の指定方法(任意), 会計年度の開始月(任意))
日付の値から、当該年における週番号(その年の第何週かを表す値)を出力します。
weekofyear('2022-04-21') = 16
Year - year(日付の列)
日付の値から年の値を出力します。
year('2022/9/7') = 2022
Year Week

yearweek(日付の列)
日付の値から、年と週を表す値を出力します。
yearweek('2022-01-14') = 202202

数値の関数


関数
説明

Abs - abs(数値の列)
数値の列の絶対値を出力します(プラス記号/マイナス記号を除いた数値を出力します)。
abs(-10) = 10
Acos - acos(数値の列)
数値の列における、コサインの逆関数(アークコサイン)の値を出力します。-1から1の間に数値の列の値がない場合、空の値(NULL)を出力します。
acos(0.5) = 1.047197
Asin - asin(数値の列)
数値の列における、サインの逆関数(アークサイン)の値を出力します。-1から1の間に数値の列の値がない場合、空の値(NULL)を出力します。
asin(0.5) = 0.523598
Atan - atan(数値の列)
数値の列における、タンジェントの逆関数(アークタンジェント)の値を出力します。
atan(2) = 1.107149
Atan2 - atan2(数値の列1, 数値の列2)
指定した数値の列1と数値の列2における、タンジェントの逆関数(アークタンジェント)の値を出力します。
atan2(0.8, 0.6) = 0.927295
Ceil - ceil(数値の列)
数値の列の小数点以下を切り上げた値を出力します。
ceil(11.56) = 12
Ceiling

ceiling(数値の列)
数値の列の値以上の、
最小の整数値を出力します。
ceiling(10.43) = 11
Conv

conv(列, 元の基数, 変換後の基数)
数値の列の基数を変換した値を出力します。
conv('a',16,2) = 1010

Convert base

convertbase(列, 元の基数, 変換後の基数)

数値の列の基数を
変換した値を出力します。
convertbase('a',16,2) = 1010
Cos - cos(数値の列)
数値の列における、コサインの値を出力します。
cos(0) = 1
Cot - cot(数値の列)
数値の列における、タンジェントの逆数(コタンジェント)の値を出力します。
cot(0.25) = 3.916317
CRC32

crc32(テキストの列)
指定した列の値から、巡回冗長検査(CRC:Cyclic Redundancy Check)による計算処理を行い、符号なしの32ビットの値を出力します。
crc32('111') = 1298878781
Degrees - degrees(数値の列)
弧度法(ラジアン)で入力した値に等しい角度を、度数法の値で出力します。
degrees(1) = 57.2957795
Exp - exp(数値の列)
数値の列​における指数関数の値を出力します。
exp(2) = 7.389056
Floor - floor(数値の列)
数値の列​の小数点以下を切り捨てた値を出力します。
floor(11.56) = 11
Format

format(数値の列1, 小数点以下の桁数)
1番目の入力値の列の値において、小数点以下の値を、2番目の入力値で指定した桁数で切り捨てた数値を出力します。
format(1.0001111,5) = 1.00011
Greatest - greatest(数値の列, ……, 数値の列)
入力した値の中から、最大値を出力します。
greatest(10,20,5) = 20
Least - least(数値の列, ……, 数値の列)
入力した値の中から、最小値を出力します。
least(10,20,5) = 5
Ln - ln(数値の列)
数値の列における自然対数の値を出力します。
ln(5) = 1.609438
Log

log2(数値の列)
数値の列​における、二進対数(2を底とする対数)の値を出力します。
log2(32) = 5
Log10 - log10(数値の列)
数値の列​における、常用対数(10を底とする対数)の値を出力します。
log10(3) = 0.477121
Log2 - log2(数値の列)
数値の列​における、二進対数(2を底とする対数)の値を出力します。
log2(32) = 5
Mod - mod(数値の列1, 数値の列2)
数値の列1の値を数値の列2の値で割った余りの値を出力します。
mod(10,3) = 1
OCT
oct(数値の列)
数値の列の値を8進数に変換した値を出力します。
oct(12) = 14
Pi - pi()
円周率の値(パイ)を出力します。
pi() = 3.14159265358979
Power - pow(数値の列1, 数値の列2)
数値の列1の値を数値の列2の値で累乗した値を出力します。
pow(2,3) = 8
Random - rand()
0と1の間のランダムな値を出力します。
rand() = 0.9233482386203
Radians - radians(数値の列)
度数法で入力した値に等しい角度を、弧度法(ラジアン)の値で出力します。
radians(180) = 3.1415926
Round - round(数値の列)
数値の列の値を四捨五入した整数値を出力します。
round(10.67) = 11
Sign - sign(数値の列)
数値の列の値が負の場合は「-1」、0の場合は「0」、正の場合は「1」を出力します。
sign(-23) =-1
Sin - sin(数値の列)
数値の列におけるサインの値を出力します。
sin(0) = 0
Square - square(数値の列)
数値の列の値を2乗した値を出力します。
square(10) = 100
Square Root - sqrt(数値の列)
数値の列の値における、平方根の値を出力します。
sqrt(16) = 4
Tan - tan(数値の列)
数値の列の値における、タンジェントの値を出力します。
tan(0.5) = 0.546302

テキストの関数


関数
説明

ASCII

ascii(テキストの列)
列の値の頭文字から、ASCIIコードの値を出力します。
ascii('abcddb') = 97
Bit Length

bit_length(テキストの列)
テキストの列の値から、テキストのビット数を出力します。
bit_length('AA') = 16
Char

char(数値の列)
数値の列の値から、
ASCIIコードの値に応じたテキストの値を出力します。
char(97,98) = ab
Char Length

char_length(テキストの列)
テキストの列の値の文字数を出力します。
char_length('aa1') = 3
Character Length

character_length(テキストの列)
テキストの列の値の文字数を出力します。
character_length('aa1') = 3
Concat - concat(テキストの列, ……,テキストの列)
入力値を結合したテキストを出力します。入力値のいずれかが空(NULL)の場合、NULLを出力します。
concat('abcd','ef','db') = abcdefdbd
Concat Ignore Null

concat_ignore_null(テキストの列1, テキストの列2, ……)
空の値(NULL)を無視して、入力値を結合したテキストを出力します。
concat_ignore_null('abcd','ef',null,'db') = abcdefdb
Concat_WS - concat_ws(区切り文字, テキストの列1
, テキストの列2, ……)
入力した複数のテキストの列の値を、指定した区切り文字で結合したテキストを出力します。区切り文字が空(NULL)の場合、NULLを出力します。
concat_ws('-','abcd','ef','db') = abcd-ef-db
ELT

elt(数値の列, テキストの列1, テキストの列2, ……)
入力した複数のテキストの列の値から、1番目の入力値で指定した位置(インデックス番号)のテキストを出力し
ます。
elt('2','red','rose','is','beautiful') = rose
Field

field(テキストの列1, テキストの列2, ……)
入力した複数のテキストの列の値から
1番目の入力値で指定した値を検索し、見つかった最初の位置(インデックス番号)を出力します。
field('as','has','as','have') = 2
Find in Set

find_in_set(テキストの列1, テキストの列2)
1番目の入力値で指定した値を、2番目に指定したコンマ区切りの複数の値から検索し、最初に見つかった位置(インデックス番号)を出力します。
find_in_set('10','2,5,8,10') = 4
Hex

hex(テキストの列)
テキストの列の値を16進数に変換した値を出力し
ます。
hex(255) = FF
Insert - insert(テキストの列, 開始位置, 長さ, 新しいテキスト)
テキストの列の値をもとに、「開始位置」の位置(インデックス番号)から「長さ」で指定した部分テキストを、「新しいテキスト」に置換した値を出力します。「開始位置」には0より大きな値を指定する必要があります。「長さ」が「0」の場合、「新しいテキスト」は「開始位置」で指定した位置より前に挿入されます。
insert('abcddb', 3, 2, 'efgh') = abefghdb
Initial Cap

initcap(テキストの列)
最初の文字を大文字に変換して出力します。
initcap('analytics') = Analytics
Index of - indexof(テキストの列, 部分テキスト)
テキストの列の値から、最初に​「部分テキスト」の値が現れる位置(インデックス番号)を出力します。
indexof('abcddb','db') = 5
Instr

instr(テキストの列, 部分テキスト)
2つのテキストの値を指定し、1番目の値で指定したテキストの中で、2番目の値で指定したテキストが見つかった位置(インデックス番号)を出力し
ます。
instr('impossible','possible') = 3
Lcase

lcase(テキストの列)
テキストの列の値をすべて
小文字に変換して出力します。
lcase('ABCd') = abcd
Left - left(テキストの列, 長さ)
テキストの列における、左側から「長さ」の文字数のテキストを出力します。
left('abcdef',3) = abc
Length - length(テキストの列)
テキストの列の値から、テキストの長さ(文字数)を出力します。
length('abcddb') = 6
Locate

locate(部分テキスト, テキストの列, 開始位置)
テキストの列の値から、
最初に​「部分テキスト」の値が現れる位置(インデックス番号)を出力します。
locate('db','zohodbdb',6) = 7
Lower

lower(テキストの列)
テキストの列の値をすべて
小文字に変換して出力します。
lower('AbCD') = abcd
Lowercase - lowercase(テキストの列)
テキストの列の値をすべて小文字に変換して出力します。
lowercase('AbCD') = abcd
Lpad - lpad(テキストの列, 長さ, 追加テキスト)
テキストの列の値の左側に、全体で「長さ」の文字数になるように「追加テキスト」の文字を追加した値を出力します。テキストの列の値の文字数が「長さ」で指定した文字数より多い場合、テキストの列の値から「長さ」の分の文字数を出力します。
lpad('DB',5,'a') = aaaDB
Ltrim - ltrim(テキストの列)
テキストの列の値の先頭にある空白を削除した値を出力します。
ltrim(' abcd') = abcd
Make Set

make_set(数値の列, テキストの列1, ……)
1番目の入力値(ビット値)で指定した値を2番目以降の入力値から抽出し、値を組み合わせて出力し
ます。
make_set(1,'a','b','c') = a
Mid

mid(テキストの列, 開始位置, 長さ)
テキストの列の値をもとに、「開始位置」の位置(インデックス番号)から「長さ」で指定した長さの文字を抜き出した値を出力し
ます。
mid('abcddb', 1, 4) = abcd
Octet Length
octet_length(テキストの列)
テキストのバイト数を出力します。
octet_length('abcddb') = 6
ORD
ord(テキストの列)
テキストの最初の文字が日本語などのマルチバイト文字の場合、次の式の計算結果を出力します。最初のバイトのコード+(2番目のバイトのコード×256)+(3番目のバイトのコード×256×256)+……。テキストの最初の文字がマルチバイト文字ではない場合、ASCII()関数と同じ値を出力します。
ord('2') = 50
Repeat - repeat(テキストの列, 回数)
repeat('Abcd',3) = 'AbcdAbcdAbcd'
 
Replace - replace(テキストの列, 置換前の文字列, 置換後の文字列)
テキストの列の値をもとに、「置換前のテキスト」を「置換後のテキスト」​に置き換えた値を出力します。
replace('abcdac','ac','db') = abcddb
Reverse - reverse(テキストの列)
テキストの列の値を反対にした(逆順に並べ替えた)値を出力します。
reverse('abcd') = dcba
Right - right(テキストの列, 長さ)
テキストの列の値の右側から、「長さ」の文字数分の値を出力します。
right('abcdef',4) = cdef
Rpad - rpad(テキストの列, 長さ, 追加テキスト)
テキストの列の値の右側に、全体で「長さ」の文字数になるように「追加テキスト」の文字を追加した値を出力します。テキストの列の値の文字数が「長さ」で指定した文字数より多い場合、テキストの列の値から「長さ」の分の文字数を出力します。
rpad('DB',5,'a') = DBaaa
Rtrim - rtrim(テキストの列)
テキストの列の値の末尾にある空白を削除した値を出力します。
rtrim('abcd ') = abcd
Soundex

soundex(テキストの列)
テキストの列の値から、発音を表す値を出力します。異なるテキストの値が同じ発音の場合、同じ値を出力
します。
soundex('hello') = H400
Space

space(数値の列)
指定した数値の分の空白文字(半角スペース)を出力します。
space(6) = ' '
Strcmp - strcmp(テキストの列1, テキストの列2)
2つのテキストの値を比べます。テキストの列1の値がテキストの列2の値より小さい場合は「-1」、同じ場合は「0」、大きい場合は「1」を出力します。
strcmp('abcd', 'abcde') =-1
Substr

substr(テキストの列, 開始位置, 長さ(任意))
テキストの列の値をもとに、「開始位置」の位置(インデックス番号)からの値を出力します。
「長さ」を指定すると、出力値の文字数を指定できます。
substr('abcddb', 2,) = bcddb
Substring - substring(テキストの列, 開始位置, 長さ)
テキストの列の値をもとに、「開始位置」の位置(インデックス番号)から「長さ」で指定した長さの文字を抜き出した値を出力します。
substring('abcddb', 1, 4) = abcd
Substring Between

substring_between(テキストの列, 部分テキスト1, 部分テキスト2, 開始位置(任意))
テキストの列の値から、「部分テキスト1」と「部分テキスト2」の間の値を出力します。
substring_between('abcddb','b','d',1) = c
Substring Count

substring_count(テキストの列, 部分テキスト)
テキストの列の値から、部分テキストの値が現れる回数を出力します。
substring_count('abcddb','cd') = 1
Substring Index

substring_index(テキストの列, 区切り文字, 区切り文字数)
テキストの列の値から、「区切り文字」が「区切り文字数」(回数)
で指定した回数までの値を出力します。
substring_index('how.are.you', '.', 2) = how.are
Substring Position

substring_position(テキストの列, 部分テキスト, 開始位置(任意))
テキストの列の値から、部分テキストの値が現れる位置(インデックス番号)を出力します。
substring_position('abcddb','cd') = 3
Trim - trim(テキストの列)
テキストの列の値から、先頭と末尾の空白をすべて削除した値を出力します。
trim(' abcd ') = abcd
Ucase

ucase(テキストの列)
テキストの列の値をすべて大文字にした値を出力します。
ucase('abcD') = ABCD
Unhex

unhex(テキストの列)
列の値から、16進数の値に対応する値を出力します。
unhex('21') = !
Upper

upper(テキストの列)
テキストの列の値をすべて大文字にした値を出力します。
upper('abcD') = ABCD
Uppercase - uppercase(テキストの列)
テキストの列の値をすべて大文字にした値を出力します。
uppercase('abcD') = ABCD

論理関数


関数
説明

IF - if(式1/条件, 式2/真の場合の出力値, 式3/偽の場合の出力値)
「式1」が真(true)の場合(条件として指定した内容を満たす場合)は「式2」を出力します。それ以外の場合は「式3」を出力します。
if(5> 10,100,3) = 3
If Case

if_case(列, 条件式1, 出力値1, 条件式2, 出力値2, ……, 条件を満たさない場合の値(任意))
列において、条件式を満たす場合に対応する出力値を出力します。
if_case('Subject','issue','Issue List',equals('bug'),'Bug List','Support List'):列「Subject」において、値が「issue」の場合は「Issue List」を出力し、値が「bug」の場合は「Bug List」を出力します。どの条件も満たさない場合は、「Support List」を出力します。if_case('Subject',startswith('issue','bug'),'Issue List',contains('help','Call'),'Call List','Support List'):列「Subject」において、値が「issue」または「bug」ではじまる場合は「Issue List」を出力し、値に「help」または「Call」を含む場合は「Call List」を出力します。どの条件も満たさない場合は、「Support List」を出力します。
Ifnull - ifnull(式1,式2)
「式1」の値や計算結果がNULL(空)でない場合は「式1」の値を出力します。それ以外の場合は「式2」の値を出力します。
ifnull(null,10) = 10
Is Empty

isempty(列)
列に値が含まれない場合(値が空の場合)、「1」を出力します。値が含まれる場合は「0」を出力します。

isempty(null) = 1
isnull( ) - isnull(式1)
「式1」の値が空(NULL)の場合は「1」を出力します。その他の場合は「0」を出力します。
isnull(null) = 1

一般的な関数


関数
説明

Coalesce - coalesce(null,null,1,...)
複数の値から、NULL(空の値)以外で最初に現れる値を出力します。
coalesce(null,null,4) = 4