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

PostgreSQLでの数値フォーマット用のテンプレートパターンと修飾子

    このページには、PostgreSQLで数値をフォーマットするときに使用できるテンプレートパターンとテンプレートパターン修飾子の完全なリストが含まれています。

    テンプレートパターン

    次の表に、Postgresで数値フォーマットに使用できるすべてのテンプレートパターンを示します。

    パターン 説明
    9 数字の位置(重要でない場合は削除できます)。数字が先行ゼロの場合は、スペースに置き換えられます。末尾がゼロで、塗りつぶしモードが指定されている場合(つまり、FM )その後、削除されます。
    0 数字の位置(重要でない場合でもドロップされません)。これは、先頭/末尾のゼロが含まれている場合でも、数字の位置が常に印刷されることを意味します。
    . (期間) 小数点。ロケールを無視します。
    , (カンマ) グループ(数千)の区切り文字。ロケールを無視します。
    PR 山括弧内の負の値。
    S 番号に固定された記号(ロケールを使用)。 Sの場合 1つ以上の9のすぐ左に表示されます s、記号は番号に固定されます。
    L 通貨記号(ロケールを使用)。
    D 小数点(ロケールを使用)。
    G グループセパレータ(ロケールを使用)。
    MI 指定された位置のマイナス記号(数値<0の場合)。番号に固定されていません。
    PL 指定された位置にプラス記号を入力します(数値> 0の場合)。番号に固定されていません。これはPostgresの拡張機能です。
    SG 指定された位置のプラス/マイナス記号。番号に固定されていません。これはPostgresの拡張機能です。
    RN ローマ数字(1から3999の間で入力)。
    TH またはth 序数の接尾辞。これらはゼロ未満の値を変換せず、小数を変換しません。これらはPostgreSQLの拡張機能です。
    V 指定した桁数をシフトします。 to_char()と一緒に使用する場合 、これは入力値に10^nを掛けます 、ここで n Vに続く桁数です 。 to_number()と併用した場合 、同様の方法で分割します。両方のto_char() およびto_number() Vの使用はサポートされていません 小数点と組み合わせる(例:99.9V99 許可されていません。
    EEEE 科学的記数法の指数。数字と小数点のパターン以外の他の書式設定パターンまたは修飾子と組み合わせて使用​​することはできません。また、書式設定文字列の末尾に配置する必要があります(例:9.99EEEE は有効なパターンです。

    注:

    • 両方の0 および9 to_number()と一緒に使用すると同等です 機能。
    • to_number()を使用する場合 Lなどの非データテンプレートパターンの場合は関数 またはTH を使用すると、データ文字(数字、符号、小数点、またはコンマ)でない限り、テンプレートパターンに一致するかどうかに関係なく、対応する数の入力文字がスキップされます。例:TH データ以外の2文字をスキップします。

    テンプレートパターン修飾子

    上記のテンプレートパターンに次の修飾子を適用して、結果を変更できます。

    修飾子 説明
    FM プレフィックス 塗りつぶしモード(末尾のゼロとパディングブランクを抑制します)。
    TH 接尾辞 大文字の序数の接尾辞。ゼロ未満の値を変換せず、小数を変換しません。これはPostgresの拡張機能です。
    th 接尾辞 小文字の序数のサフィックス。ゼロ未満の値を変換せず、小数を変換しません。これはPostgresの拡張機能です。

    最初のものはテンプレートパターンのプレフィックスとして追加され、他の2つはサフィックスとして追加されることに注意してください。

    これは、テンプレートパターンと修飾子の両方を含む簡単な例です。

    SELECT to_char(1, '9th');

    結果:

    1st

    この場合、9 数のためでした( 1 )、およびth 序数標識を追加するために使用されました(この場合、 st


    1. 2017 @ Somenines:お客様のストーリーを祝う

    2. MySQLでクエリ結果をコンマ区切りリストとして返す方法

    3. mysqlのデータ行から改行文字を削除するにはどうすればよいですか?

    4. 間隔を分に変換する