計算項目の関数リファレンス
計算項目で使用可能な関数の一覧です。計算項目の基本的な使い方についてはテーブル内項目タイプ:計算をご覧ください。
数式で関数を使う場合
関数を使う場合は例えば以下のような式となります。
ROUND({価格}*1.1)*{数量}
計算式で使用可能な関数は下記となります。
日付、時間に関する関数
| 名前 | 引数の数 | 説明 | 設定例 | 備考 |
|---|---|---|---|---|
| MAX() | 1 | 最大値の数値、日付けの値を返します | MAX(列名) |
設定例では指定した列名の最大値を返します |
| MIN() | 1 | 最小値の数値、日付けの値を返します | MIN(列名) |
設定例では指定した列名の最小値を返します |
| DATE_ADD() | 3 | 日付値に時間値 (間隔) を加算します | 例①DATE_ADD({日付},'year',1)例②DATE_ADD({日時},'year',{数値}+2) |
例①では、日付項目に対して1年加算した情報を取得します。例②では、日時項目に対して数値項目の値+2年加算した情報を取得します。※第2引数のyearと記載してある箇所は「year」「month」「day」「hour」「minute」「second」の指定が可能です。 |
| DATE_SUB() | 3 | 日付から時間値 (間隔) を引きます | DATE_SUB(current_date(),'month',4) |
設定例では現在日付けより4カ月減算した日付け情報を取得します |
| DATEDIFF() | 2 | 2 つの日付の差を求めます | DATEDIFF(CURRENT_DATE(),"2021-07-01") |
設定例では現在日付けと2021年7月1日との日付けの差情報を取得します |
| CURRENT_DATE() | - | 現在日付けを取得します | CURRENT_DATE() |
- |
| LAST_DAY() | 1 | 日時項目の月末日を取得します | LAST_DAY({日付}) |
設定例では項目名(日付)の月末日を取得します |
| DATE_FORMAT() | 2 | 引数に指定した日付を表す値を指定のフォーマットで整形した文字列を取得することができます。 | DATE_FORMAT({項目名},"%m月") |
設定例では、{項目名}が「2023/6/13」だった場合「06月」を取得します |
| TIME_FORMAT() | 2 | 時刻を表す値を指定のフォーマットで整形した文字列を取得することができます。 | TIME_FORMAT({項目名},"%h時") |
設定例では、{項目名}が「14:45」だった場合「14時」を取得します |
| AGE() | 1 | 日付や日付時刻より、年齢を取得することができます。 | AGE({誕生日}) |
設定例では、誕生日の生年月日より年齢を取得します |
| TIMEDIFF() | 2 | 日時や時間型の値を二つ、入力引数として受け取り、その差分の時間を取得することができます。 | TIMEDIFF({出荷日}, {仕入日}) |
設定例では、仕入日をスタートとして出荷日までの差分の時間を取得します |
| TIMESTAMPDIFF() | 3 | 2つの日付または時刻の間の指定した時間単位の差を計算し取得することができます。 | TIMESTAMPDIFF(YEAR, {日付}, CURRENT_DATE()) |
設定例では、{日付}項目を開始日として本日日付との差を年で取得します |
| NEXTWEEKDAY({weekday}) | 1 | 現在日時から見て来週の{weekday}曜日の日付を取得することが出来ます。 | NEXTWEEKDAY({0}) |
設定例では、現在日時から見て来週の月曜日の日付を取得します。 |
{weekday}の部分は、0(月曜日) ~ 6(日曜日)に対応しています。
DAY(LAST_DAY(CURRENT_DATE()))→月の日数を整数で取得できます。
※CURRENT_DATE()→現在の日付となりますが、{項目名}で任意の日時項目を入れることも可能です。
文字列に関する関数
| 名前 | 引数の数 | 説明 | 設定例 | 備考 |
|---|---|---|---|---|
| CHAR_LENGTH() | 1 | 文字数をカウントします | CHAR_LENGTH({文字列}) |
設定例では「文字列」項目の文字数をカウントします |
| LEFT() | 2 | 第1引数で指定した文字列のうち、左から第2引数で指定した桁数の値を取得します | LEFT("ABCDEFG", 3) |
設定例ではABCを返します |
| RIGHT() | 2 | 第1引数で指定した文字列のうち右から第2引数で指定した桁数の値を取得します | RIGHT("ABCDEFG", 3) |
設定例では「EFG」を返します |
| INSTR() | 2 | 第1引数で指定した文字列のうち、左から第2引数で指定した文字列の順番を取得します | INSTR("ABCDEFG", "B") |
設定例では「2」を返します |
| REPLACE() | 3 | 値の置換を行います | REPLACE("SATOU","S","K") |
設定例では「KATOU」を返します |
| SUBSTRING() | 3 | 値の部分抽出を行います | SUBSTRING("12345678", 3, 3) |
設定例では「345」を返します |
| CONCAT() | - | 文字列を結合し取得します。 | 例①CONCAT("Today is ", CURRENT_DATE())例② CONCAT(TIMESTAMPDIFF(YEAR, {日付}, CURRENT_DATE()), "年", MOD(TIMESTAMPDIFF(MONTH, {日付}, CURRENT_DATE()), 12), "ヶ月") |
例①では、「Today is 2023-06-10(実行日付)」を取得します。 例②では、指定された「日付」項目から現在の日付までの年数と月数を取得します。例えば日付項目が「2000-01-15」で現在の日付が「2023-06-10」の場合、「23年4ヶ月」を取得します。 |
| IF() | 3 | 論理式の条件(IF文)によって処理を分岐します。IF条件(第一引数がtrueの場合第2引数、falseの場合第3引数を表示する)IF文ではORまたはANDの指定も可能です。 | 例① IF({居住者}>0,"已滿","空室")例② IF({項目A}>=1 and {項目B}<=5,1,0)例③ IF(({項目A}="男性" OR {項目B}>=20),"該当者","該当せず")例④ IF({項目1}="A",{項目〇},IF({項目1}="B",{項目×},"-")) |
例①では項目名(居住者)が0より大きい場合は已滿を取得します。IF文の条件文が空の場合を指定する場合、次のように指定します。IF({居住者}=null,"空室","已滿")例②では、項目Aが1以上で且つ項目Bが5以下であれば「1」、そうでなければ「0」を取得します。 例③では、項目Aが男性または項目Bが20以上であれば「該当者」、そうでなければ「該当せず」を取得します。 例④では、項目1が「A」の場合、項目〇を、「B」の場合項目×を、それ以外の場合「-」を取得します。 |
| LPAD() | 3 | 指定した桁数になるまで文字列の左側に文字列を埋め込みます。 | LPAD("abc", 6, "XYZ") |
設定例では元の文字列を「abc」で指定し6桁の文字列で且つ埋め込む文字列を「XYZ」と指定しているため、「XYZabc」を取得します |
| SUMIF() | 2 | 特定の条件を満たすレコードの値を選択し、それらの値の総和を計算します。 | SUMIF({売上明細::売上種別}="BPO",{売上明細::売上金額}) |
設定例では「売上明細」テーブル内の「売上種別」がBPOとなっているレコードの「売上金額」の総和を取得します |
| COUNTIF() | 2 | 特定の条件を満たすレコードの値を選択し、それらの値の数をカウントします。 | COUNTIF({売上明細::売上種別}="BPO",{売上明細::売上種別}) |
設定例では「売上明細」テーブル内の「売上種別」がBPOとなっているレコードの数を取得します |
その他数学系関数
| 名前 | 引数の数 | 説明 | 設定例 | 備考 |
|---|---|---|---|---|
| ABS() | 1 | 絶対値を返します | ABS(数値) |
()内で指定された数値が絶対値で表示されます |
| ACOS() | 1 | アークコサインを返します | ACOS(数値) |
()の数値は求める角度の逆余弦の値を、-1 ~ 1の範囲で指定します。 |
| ASIN() | 1 | アークサインを返します | ASIN(数値) |
()の数値は求める角度の正弦(サイン)の値を-1~1の範囲で指定します。 |
| ATAN() | 1 | アークタンジェントを返します | ATAN(数値) |
()の数値はタンジェントを表す数値を指定 |
| ATAN2(), ATAN() | 1 | 2 つの引数のアークタンジェントを返します | ATAN2(数値),ATAN(数値) |
()の数値はタンジェントを表す数値を指定 |
| CEIL() | 1 | 引数の数値以上で最小の整数値を返します | CEIL(1.05) |
設定例では「2」を返します |
| CEILING() | 1 | 引数の数値以上で最小の整数値を返します | CEILING(1.11) |
設定例では「2」を返します |
| CONV() | 3 | 数値を異なる基数間で変換します | CONV(100,mi,km) |
設定例では100マイルをキロメールへ変換します |
| COS() | 1 | コサインを返します | COS(数値) |
数値ラジアンのコサインを返します |
| COT() | 1 | コタンジェントを返します | COT(数値) |
数値の角度の子タンジェントを返します |
| COUNT() | 1 | テーブルのレコード数を数えます | COUNT(式) |
引数の式には、行数を取得する列名(カラム名)や条件式を指定します。また*(アスタリスク)を指定すると、すべてのレコードの行数をカウントします。 |
| CRC32() | 1 | 巡回冗長検査値を計算します | CRC32(数値) |
数値の巡回冗長検査値を計算します |
| DEGREES() | 1 | ラジアンを角度に変換します | DEGREES(数値) |
数値のラジアンを角度に変換します |
| EXP() | 1 | 累乗します | EXP(数値) |
数値を累乗します |
| FLOOR() | 1 | 引数以下のもっとも大きな整数値を返します | FLOOR(1.03) |
設定例では「1」を返します |
| LN() | 1 | 引数の自然対数を返します | LN(1) |
設定例では「0」を返します |
| LOG() | 1 | 最初の引数の自然対数を返します | LOG(10) |
設定例では「2.30」を返します |
| LOG10() | 1 | 引数の底 10 の対数を返します | LOG10(145.175642) |
設定例では「2.16」を返します |
| LOG2() | 1 | 引数の底 2 の対数を返します | LOG2(2) |
設定例では「1」を返します |
| MOD() | 2 | 第1 引数に指定した値を第 2 引数の値で割った余りを返します | MOD(8,3) |
設定例では「2」を返します |
| PI() | - | pi の値を返します | PI() |
- |
| POW() POWER() | 2 | POWは、第1引数に指定した値を 第2引数の値だけ累乗した値を返しますPOWERは、指定した指数で累乗された引数を返します | POW(5,3) POWER(10,2) |
POWの設定例では「125」を返しますPOWERの設定例では「100」を返します |
| RADIANS() | 1 | ラジアンに変換された引数を返します | RADIANS(180) |
設定例では「3」を返します |
| RAND() | - | ランダムな浮動小数点値を返します | RAND() |
設定例では0.0~1.0の間の乱数を返します |
| ROUND() | 2 | 引数を四捨五入します | ①ROUND(3.55,1)②ROUND(CEIL({項目A}/10)*10,0) |
①設定例では「3.6」を返します ②一の位を四捨五入する式になります。設定例では、{項目A}が4025の場合「4030」を返します |
| SIGN() | 1 | 引数の符号を返します | SIGN(999) |
設定例では「1」を返します |
| SIN() | 1 | 引数のサインを返します | SIN(1) |
設定例では「0.8414709848078965」を返します |
| SQRT() | 1 | 引数の平方根を返します | SQRT(100) |
設定例では「10」を返します |
| TAN() | 1 | 引数のタンジェントを返します | TAN(1) |
設定例では「1.5574077246549023」を返します |
| TRUNCATE() | 2 | 指定された小数点以下の桁数に切り捨てます | TRUNCATE(17.745,0) |
設定例では「17」を返します |
| SUM() | 1 | 指定したカラムのレコードの合計を取得します | SUM({明細::金額}) |
設定例では明細テーブル内の金額のレコードの合計を取得します |
| LEAST() | - | 複数の引数から最小値を取得します | LEAST({数値1},{数値2},100) |
設定例では、【項目名「数値1」、「数値2」、100】の中から最小値を取得します |
| GREATEST() | - | 複数の引数から最大値を取得します | GREATEST({数値1},{数値2},100) |
設定例では、【項目名「数値1」、「数値2」、100】の中から最大値を取得します |
| IF() | 3 | 論理式の条件(IF文)によって処理を分岐します。IF条件 (第一引数がtrueの場合第2引数、falseの場合第3引数を表示する)IF文ではORまたはANDの指定も可能です。 | 例① IF({居住者}>0,"已滿","空室")例② IF({項目A}>=1 and {項目B}<=5,1,0)例③ IF(({項目A}="男性" OR {項目B}>=20),"該当者","該当せず")例④ IF({項目1}="A",{項目〇},IF({項目1}="B",{項目×},"-")) |
例①では項目名(居住者)が0より大きい場合は已滿を取得します。IF文の条件文が空の場合を指定する場合、次のように指定します。IF({居住者}=null,"空室","已滿")例②では、項目Aが1以上で且つ項目Bが5以下であれば「1」、そうでなければ「0」を取得します。 例③では、項目Aが男性または項目Bが20≧であれば「該当者」、そうでなければ「該当せず」を取得します。 例④では、項目1が「A」の場合、項目〇を、「B」の場合項目×を、それ以外の場合「-」を取得します。 |
| SUMIF() | 2 | 特定の条件を満たすレコードの値を選択し、それらの値の総和を計算します。 | SUMIF({売上明細::売上種別}="BPO",{売上明細::売上金額}) |
設定例では「売上明細」テーブル内の「売上種別」がBPOとなっているレコードの「売上金額」の総和を取得します |
| COUNTIF() | 2 | 特定の条件を満たすレコードの値を選択し、それらの値の数をカウントします。 | COUNTIF({売上明細::売上種別}="BPO",{売上明細::売上種別}) |
設定例では「売上明細」テーブル内の「売上種別」がBPOとなっているレコードの数を取得します |