sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLでパーセンテージとして数値をフォーマットする3つの方法

    PostgreSQLでパーセント記号を使用して数値を表示する場合は、いくつかのオプションがあります。

    TO_CHAR()を使用できます パーセント記号とともに数値をフォーマットする関数。または、CONCAT()を使用して、数値をパーセント記号で連結することもできます。 関数または連結演算子を使用します。

    TO_CHAR() 機能

    このオプションでは、数値と数値のテンプレートパターンを関数に渡して、テンプレートパターンで指定された方法でフォーマットされた数値を返します。パーセント記号を取得するには、それをテンプレートパターンに含めます。

    SELECT TO_CHAR(35, 'fm00D00%');

    結果:

    35.00%

    ここでは、0を使用しました テンプレートパターン。これは、先頭/末尾のゼロが含まれている場合でも、数字の位置が常に印刷されることを意味します。

    fmも使用しました 先頭/末尾のゼロまたは空白を抑制するためのフォーマット修飾子。

    これは他のいくつかのテンプレートパターンです:

    SELECT 
        TO_CHAR(7, 'fm00%') AS "1",
        TO_CHAR(7, 'fm99%') AS "2",
        TO_CHAR(7.4567, 'fm0D00%') AS "3",
        TO_CHAR(7, 'fm0D00%') AS "4";

    結果:

    +-----+----+-------+-------+
    |  1  | 2  |   3   |   4   |
    +-----+----+-------+-------+
    | 07% | 7% | 7.46% | 7.00% |
    +-----+----+-------+-------+

    必要に応じて、数値に対して計算を実行できます:

    SELECT 
        TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
        TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";

    結果:

    +-------+--------+
    |   1   |   2    |
    +-------+--------+
    | 3.50% | 35.00% |
    +-------+--------+

    この場合、9を含めます 先行ゼロが省略されるようにテンプレートパターン。

    CONCAT() 機能

    これを行う別の方法は、CONCAT()を使用することです。 数値とパーセント記号を連結する関数:

    SELECT CONCAT(35, '%');

    結果:

    35%

    連結演算子

    数値とパーセント記号を連結する別の方法は、連結演算子(||)を使用することです。 ):

    SELECT 35 || '%';

    結果:

    35%

    1. oratop

    2. MySQLDBでトランザクションが機能しない

    3. SQLで2つのクエリの結果を組み合わせる方法

    4. Tanh()がPostgreSQLでどのように機能するか