付録一 計算式

10.1 文字の計算

1.文字列を連結:concat();

複数の文字列を一つに合併,例えば:concat('こんにちは', '%%'),結果は こんにちは%%

2.空白を削除:trim();

文字列先頭と末尾の空白を削除,例えば:trim(' リンゴ '), 結果は リンゴ

3.テキストを取得:substring();

指定した位置空間にある文字を切り取る,例えば:substring('こんにちは、可視化分析!', 4, 5),結果は 可視化 ; substring('こんにちは、可視化分析!', 4) 結果は 可視化分析!

4.文字を入れ替え:replace();

文字列の中の特定文字を入れ替える,例えば:replace('チャート分析', 'チャート', '可視化') 結果は 可視化分析

5.アルファベットを大文字に:upper();

文字列の中のアルファベットを全部大文字に変換

6.アルファベットを小文字に:lower();

文字列の中のアルファベットを全部小文字に変換

10.2 数値の計算

  1. 加算:+;

    数値の加算

  2. 減算:-;

    数値の減算

  3. 掛け算:*;

    数値の掛け算

  4. 割り算:/;

    数値の割り算

  5. 余りを取得:%;

    数値の割り算で余りを取得

  6. 絶対値を取得:abs();

    数値の絶対値,例えば:abs(-10.2), 結果は 10.2

  7. 四捨五入:round();

    数値を四捨五入して整数にする,例えば:round(10.2), 結果は10

  8. 切り上げ:floor();

    指定した数値以下の最小整数を取得,例えば: floor(10.2) , 結果は 10

  9. 切り捨て:ceil();

    指定した数値以上の最小整数を取得,例えば: ceil(10.2) , 結果は 11

10.3 時間の計算

假设:时间字段 [t1].[time] 的值为:2015-10-29 12:52:10

  1. 年を取得:year();

    指定した日付から年の値を取得,例えば:文字列 [t1].[time] が含む日付は2015年10月29日,year([t1].[time])が対応したデータ結果は2015

  2. 月を取得:month();

    指定した日付から月の値を取得,例えば:文字列 [t1].[time] が含む日付は2015年10月29日,month([t1].[time])が対応したデータ結果は10

  3. 日を取得:day();

    指定した日付から日の値を取得,例えば:文字列 [t1].[time] が含む日付は2015年10月29日,day([t1].[time])が対応したデータ会結果は29

  4. 四半期を取得:quarter();

    指定した日付が対応している四半期を取得(1-3月は第1四半期、 4-6月は第2四半期、これによって類推),例えば:文字列 [t1].[time] が含む日付は2015年10月29日,quarter([t1].[time])が対応したデータ結果は4

  5. 週数を計算:week();

    指定した日付が対応している年度の週数,例えば:文字列 [t1].[time] が含む日付は2015年10月29日,week([t1].[time])が対応したデータ結果は43

  6. 週の日付を計算:weekday();

    指定した日付が対応している週の曜日,例えば:文字列 [t1].[time] が含む日付は2015年10月29日,weekday([t1].[time])が対応したデータ結果は4

  7. 時を取得(24h):hour();

    指定した日付の時の値を取得,例えば:文字列 [t1].[time] が含むデータ時間は 12:52:10,hour([t1].[time])が対応したデータ結果は12

  8. 分を取得:minute();

    指定した日付の分の値を取得,例えば:文字列 [t1].[time] が含むデータ時間は 12:52:10,minute([t1].[time])が対応したデータ結果は52

  9. 秒を取得:second();

    指定した日付の秒の値を取得,例えば:文字列 [t1].[time] が含むデータ時間は 12:52:10,second([t1].[time])が対応したデータ結果は10

  10. Unix時間を変換:epochTime();

    Unix epochで表示する時間の値(単位は秒)をタイムスタンプに変換,例えば: epochTime(1481708268) 結果は北京時間2016年12月14日17時37分48秒(+8:00 タイムゾーン)

10.4 関連の計算

  1. に等しい:==;

    両方が等しいかを判断

  2. に等しくない:!=;

    両方が等しくないかを判断

  3. より大きい:>;

    前者が後者より大きいかを判断

  4. より小さい:<;

    前者が後者より小さいかを判断

  5. 以上:>=;

    前者が後者以上であるかを判断

  6. 以下:<=;

    前者が後者以下であるかを判断

  7. テキストをマッチング(SQL):like();

    テキストが指定のフォーマットにマッチしているかを判断,例えば:like("可視化分析", "%分析"),結果は真

10.5 ロジック計算

  1. 論理積:&&;

    論理積(両方がみんな真である時、結果は真),例えば:true && false,結果は false

  2. 論理和:||;

    論理和(両方の片方が真である時、結果は真),例えば:true || false,結果は true

  3. 否定:!;

    否定,例えば:! true,結果は false

  4. 論理値:case();

    一つずつ論理判断し、ある判断結果が真である時、それに対応した結果の値を得る。すべては真でない場合、結果は最後の値になる。例えば:case([t1].[score] < 60, "不及格", [t1].[score] >= 60, "及格", [t1].[score] == 100, "优秀","良好")

  5. マッチ値:decode();

    一つ目の値を取得し、それ以降の値と一つずつコンペアする。ある値と等しい場合、対応した値を得る。等しい値が存在しない場合、結果は最後の値になる。例えば:decode([t1].[region], 0, "東北", 1, "華北", 2, "華東", 3, "華中", 4, "華南", 5, "西北", 6, "西南", "その他")

10.6 集合の計算

  1. 和を求め:sum();

  2. カウント:count();

  3. 重複を除くカウント:count_distinct();

  4. 平均値:avg();

  5. 最大値:max();

  6. 最小値:min();

results matching ""

    No results matching ""