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

MySQLで数値を通貨としてフォーマットする方法

    一部のDBMSは、通貨記号のフォーマット指定子を提供することにより、数値を通貨としてフォーマットする機能を提供します。このようなフォーマット指定子を提供すると、DBMSはロケールに適した通貨記号を返すことができます。

    MySQLには通貨形式指定子がないため、通貨記号を返す場合は、少し余分な作業を行う必要があります。

    MySQLで数値を通貨として返す例を次に示します。

    SELECT CONCAT('$', FORMAT(1234.5678, 2));

    結果:

    $1,234.57

    ここでは、CONCAT()を使用しました 通貨記号と数値を連結する関数。 FORMAT()も使用しました 数値を目的の形式にフォーマットする関数。

    ロケールを指定

    FORMAT() 関数は、ロケールのオプションの3番目の引数を受け入れます。これにより、指定したロケールを使用して数値をフォーマットできます。

    例:

    SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

    結果:

    €1.234,57

    この場合、通貨記号はユーロ記号()です。 )ドル記号の代わりに、グループ区切り文字にピリオドを使用し、小数点にコンマを使用するドイツ語の番号付け規則を使用して数値をフォーマットするように指定しました。

    アプリケーションとデータベースのフォーマット

    通常、通貨の書式設定などは、データベースレベルではなく、アプリケーションレベルで行うことをお勧めします。アプリケーションプログラミング環境は通常、DBMSよりも優れたフォーマット機能を備えており、アプリケーションがクリーンな状態で開始して必要に応じてフォーマットできるように、通常はフォーマットされていないデータをDBから返す方が適切です。

    とはいえ、状況によってはデータベースレベルでのフォーマットが必要になる場合があります。その場合は、上記の手法が役立ちます。


    1. PHPでSQL変数をバインドする方法は?

    2. 複数のレコードを挿入してID値を取得するにはどうすればよいですか?

    3. WAMPでPHPMyAdminの失われたMySQLパスワードへのアクセスを回復する

    4. 小数点以下8桁の緯度/経度には、どのMySQLデータ型を使用する必要がありますか?