すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:カラー関数

最終更新日:Jun 05, 2026

Log Service のカラー関数の構文と使用方法について説明します。

Log Service は、次のカラー関数をサポートしています。

重要
  • Log Service の分析ステートメントでは、文字列を単一引用符 (') で囲む必要があります。単一引用符で囲まれていない文字、または二重引用符 (") で囲まれている文字は、フィールド名または列名として扱われます。たとえば、'status' は文字列「status」を表しますが、status または "status" は status という名前のログフィールドを表します。

  • Log Service コンソールでは、カラー関数の結果が正しくレンダリングされません。代わりに、ターミナルで結果を表示してください。

    • コンソールの表示:コンソールでは色はレンダリングされず、\e[38;5;1m などの ANSI エスケープシーケンスがそのままの文字として表示されます。

    • ターミナルの表示

      mysql> select pv, bar(pv/10.0, 10, color(0, 50, 100, rgb(255, 0, 0), rgb(0, 255, 0)), rgb(0, 255, 0)) from(select * from (VALUES (0),(1), (2), (3), (4), (5), (6), (7),(8),(9)) AS X(pv));
      +------+----------------------------------------------------------------------+
      | pv   | _col1                                                                |
      +------+----------------------------------------------------------------------+
      |    0 |                                                                      |
      |    1 | █                                                                    |
      |    2 | ██                                                                   |
      |    3 | ███                                                                  |
      |    4 | ████                                                                 |
      |    5 | █████                                                                |
      |    6 | ██████                                                               |
      |    7 | ███████                                                              |
      |    8 | ████████                                                             |
      |    9 | █████████                                                            |
      +------+----------------------------------------------------------------------+
      10 rows in set (0.21 sec)

関数

構文

説明

SQLサポート

SPLサポート

bar 関数

bar(x, width)

x に基づき、指定された width とデフォルトの赤から緑へのグラデーションを持つ棒グラフセグメントを返します。

×

bar(x, width, low_color, high_color)

x に基づき、指定された width とカスタムの開始色および終了色を持つ棒グラフセグメントを返します。

×

color 関数

color(string)

色の文字列を color 型に変換します。

×

color(x, low, high, low_color, high_color)

lowhigh の間の x の割合によって low_colorhigh_color を按分し、low_colorhigh_color の間の色を返します。

×

color(y, low_color, high_color)

y を使用して low_colorhigh_color の割合を指定し、low_colorhigh_color の間の色を返します。

×

render 関数

render(ブール式)

ブール式が true の場合は緑色のチェックマーク (✓) を返し、それ以外の場合は赤色のバツ印 (✗) を返します。

×

render(x, color)

指定した色で結果をレンダリングします。

×

rgb 関数

rgb(red, green, blue)

RGB 値に基づいて色の値を返します。

×

bar 関数

bar 関数は ANSI 棒グラフを描画します。

構文

  • x に基づき、指定された width とデフォルトの赤から緑へのグラデーションを持つ棒グラフセグメントを返します。

    bar(x, width)
  • x に基づき、指定された width とカスタムの開始色および終了色を持つ棒グラフセグメントを返します。

    bar(x, width, low_color, high_color)

パラメーター

パラメーター

説明

x

レンダリングする棒の割合。値は [0, 1] の範囲の DOUBLE 型である必要があります。

width

完全な ANSI 棒グラフの幅。

low_color

グラデーションの開始色の RGB 値。

high_color

グラデーションの終了色の RGB 値。

戻り値のデータ型

varchar

  • 例1:1時間ごとの PV 比率を計算し、ANSI 棒グラフとして表示します。

    • 分析ステートメント

      * |
      SELECT
        Method,
        bar(pv/m, 100)
      FROM(
          SELECT
            *,
            max(pv) over() AS m
          FROM(
              SELECT
                Method,
                count(1) AS pv
              FROM         internal-operation_log
              WHERE
                __date__ > '2021-09-10 00:00:00'
                AND __date__ < '2021-09-10 01:00:00'
              GROUP BY
                Method
            )
        )
    • クエリと分析の結果 (コンソール):_col1 列には、bar 関数によって生成された ANSI 棒グラフが表示されます。

    • クエリと分析の結果 (ターミナル)

      +-----------------+----------------------------------------------+
      | GetProjectLogs  | ████████                                     |
      | GetLogStoreLogs | ████████████████████████████████████████████ |
      +-----------------+----------------------------------------------+
      2 rows in set (8.99 sec)
  • 例2:白から赤へのグラデーションを使用して、幅 50 の ANSI 棒グラフを描画します。

    • 分析ステートメント

      * | SELECT bar(1, 50, rgb(255, 255, 255), rgb(255, 0, 0))
    • クエリと分析の結果 (コンソール):_col0 列には、白から赤へのグラデーションバーとしてレンダリングされる ANSI エスケープシーケンスが含まれています。

    • クエリと分析の結果 (ターミナル)

      +------+------+
      | _col0 | _col0 |
      +------+------+
      | [白から赤へのグラデーションバー] |      |
      +------+------+
      1 row in set (0.20 sec)

color 関数

color 関数は、指定された値に対応する色を返します。

構文

  • 色の文字列を color 型に変換します。

    color(string)
  • lowhigh の間での x の割合によって low_colorhigh_color の重みが決まり、関数は low_colorhigh_color の間の色を返します。

    color(x, low, high, low_color, high_color)
  • y を使用して low_colorhigh_color の割合を指定し、low_colorhigh_color の間の色を返します。

    color(y, low_color, high_color)

パラメーター

パラメーター

説明

x

DOUBLE 型の値。

y

[0, 1] の範囲の DOUBLE 型の値。

low

範囲の最小値。DOUBLE 型です。

high

範囲の最大値。DOUBLE 型です。

low_color

グラデーションの開始色の RGB 値。

high_color

グラデーションの終了色の RGB 値。

string

色の名前の文字列 (例:blackred) または CSS スタイルの RGB 値 (例:#000)。

戻り値のデータ型

color

  • 例1:色の文字列を color 型に変換します。

    • 分析ステートメント

      * | SELECT color('#000')
    • クエリと分析の結果 (コンソール):結果は #000000 です。

    • クエリと分析の結果 (ターミナル)

      mysql> SELECT color('#000');
      +---------+
      | _col0   |
      +---------+
      | #000000 |
      +---------+
      1 row in set (0.21 sec)
  • 例2:request_length フィールドの剰余から色付きの ANSI 棒グラフを生成します。

    • 分析ステートメント

      *|SELECT x, bar(1, 10, color(x, 0, 10, rgb(255, 0, 0), rgb(0, 255, 0)), rgb(0, 255, 0)) FROM(SELECT * FROM (SELECT request_length%10 x FROM log))
    • x 列には数値が表示され、_col1 列には x に基づいて赤から緑に変化する色の棒グラフが表示されます。

    • クエリと分析の結果 (ターミナル)

      | x    | _col1                          |
      |------|--------------------------------|
      |    1 | [色付きグラデーションバー]         |
      |    6 | [色付きグラデーションバー]         |
      |    4 | [色付きグラデーションバー]         |
      |    7 | [色付きグラデーションバー]         |
      |    7 | [色付きグラデーションバー]         |
      |    0 | [色付きグラデーションバー]         |
      6 rows in set (0.21 sec)
  • 例3:比率に応じた開始色で ANSI 棒グラフを生成します。

    • 分析ステートメント

      *|SELECT bar(1, 10, color(0.3, rgb(255, 255, 255), rgb(255, 0, 0)), rgb(0, 255, 0))
    • クエリと分析の結果 (コンソール):結果には、グラデーションカラーバーを表示する ANSI エスケープシーケンスが含まれています。

    • クエリと分析の結果 (ターミナル)

      mysql> select bar(1, 10, color(0.3, rgb(255, 255, 255), rgb(255, 0, 0)), rgb(0, 255, 0));
      +----------------------------------------------------------------------+
      | _col0                                                                |
      +----------------------------------------------------------------------+
      | ██████████                                                           |
      +----------------------------------------------------------------------+
      1 row in set (0.21 sec)

render 関数

render 関数は、色や記号で出力をフォーマットします。

構文

  • ブール式が true の場合は緑色のチェックマーク (✓) を返し、それ以外の場合は赤色のバツ印 (✗) を返します。

    render(ブール式)
  • 指定した色で結果をレンダリングします。

    render(x, color)

パラメーター

パラメーター

説明

ブール式

評価するブール式。

x

レンダリングする INTEGER 型の値。

color

レンダリングに使用する色。このパラメーターは color 型です。

戻り値のデータ型

varchar

  • 例1:PV カウントが 1,000 未満かどうかを確認します。true の場合は ✓ を返します。

    • 分析ステートメント

      * | SELECT render(count(*) < 1000)
    • クエリと分析の結果 (コンソール):コンソールでは色はレンダリングされず、\e[38;5;1m などの ANSI エスケープシーケンスがそのままの文字として表示されます。

    • クエリと分析の結果 (ターミナル)

      mysql> select render(count(*) < 1000);
      +------------------+
      | _col0            |
      +------------------+
      | ✓                |
      +------------------+
      1 row in set (0.22 sec)
  • 例2:ログの総数をカウントし、結果を緑色でレンダリングします。

    • 分析ステートメント

      * | SELECT render(count(*), rgb(48, 169, 16))
    • クエリと分析の結果 (コンソール)

      _col0
      \e[38;5;70m1\e[0m
    • クエリと分析の結果 (ターミナル):結果の「1」は緑色で表示されます。

      mysql> select render(count(*), rgb(48, 169, 16));
      +----------------+
      | _col0          |
      +----------------+
      | 1              |
      +----------------+
      1 row in set (0.21 sec)

rgb 関数

rgb 関数は、指定された RGB 値から色を作成します。

構文

rgb(red, green, blue)

パラメーター

パラメーター

説明

red

赤のコンポーネント。0 から 255 までの整数です。

green

緑のコンポーネント。0 から 255 までの整数です。

blue

青のコンポーネント。0 から 255 までの整数です。

戻り値のデータ型

color

RGB 値に基づいて色を返します。

  • 分析ステートメント

    *|SELECT rgb(255, 0, 0)
  • クエリと分析の結果 (コンソール):_col0 列は #ff0000 を返します。

  • クエリと分析の結果 (ターミナル)

    select rgb(255, 0, 0);
    +---------+
    | _col0   |
    +---------+
    | #ff0000 |
    +---------+
    1 row in set (0.21 sec)