MySQL で数値をフォーマットする
このチュートリアルでは、MySQL で数値をフォーマットする方法を学びます。
特定の数値に関連付けられた適切な書式設定スキームを取得する必要があることがよくあります。 たとえば、数値 1110.00 はドイツでは 1110,00 と表記されます。これは、ドイツでは小数点の値を区切るために , が使用されるためです。
したがって、数値をデータベース内の特定の形式に変換する方法が必要です。 これを行う方法を理解しましょう。
MySQL で FORMAT() 関数を使用して数値の形式を変換する
FORMAT() 関数は、"#,###,###.##" のような形式に書式設定し、結果を文字列データ型として返す前に、数値を指定された小数点以下の桁数に丸めます。
FORMAT() 構文は次のように示されます。
SELECT FORMAT("Enter your number to be formatted", formatting_logic_goes_here) AS your_answer
上記のクエリの助けを借りて、フォーマットされる数値は、渡されたフォーマット ロジックに基づいて書き換えられます。
ここで、前述のドイツの問題について考えてみましょう。 次のクエリを使用して、MySQL でドイツ語形式の数値を表すことができます。
SELECT REPLACE(REPLACE(REPLACE(FORMAT("1111.00", 2), ".", "@"), ",", "."), "@", ",") AS your_answer
注: 上記のコードは、MySQL の
ASキーワードでエイリアスyour_answerを使用しました。
上記のクエリの出力は、次のように示されます。
your_answer
1.111,00
ご覧のとおり、番号を 1110.00 から 1110,00 にうまく操作できました。 では、別の例を見てみましょう。
数値 123.4567 を 123.45 に変更したいとします。 これは、2 番目の小数点以下の値の後に小数点の値を削除することを意味します。
これは、round 関数を使用して行うことができます。
MySQL で round() 関数を使用して数値をフォーマットする
round() 関数は 2つの値を取ります。 丸められる値と数値が丸められるべき小数点。
round 関数の基本的な構文を以下に示します。
SELECT round(number_to_be_rounded, rounding_logic as your_answer
ここで、前述の問題に取り組みましょう。 次のクエリを使用して、それを実行できます。
SELECT round(123.4567,2) AS your_answer;
上記のクエリの出力は、次のように示されます。
your_answer
123.46
ご覧のとおり、数値は必要に応じて小数点以下 2 桁までの最も近い値に丸められています。
注: 上記のコードは、MySQL の
ASキーワードでエイリアスyour_answerを使用しました。
したがって、FORMAT および round 関数の助けを借りて、MySQL の組み込みモジュールを使用して数値を効率的にフォーマットできます。
