MySQLのROUND()関数で数値を四捨五入する方法
MySQLで数値を丸めるには
MySQLで数値を四捨五入(丸め)するには、ROUND()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入したうえで、ROUND()関数を使って数値を丸める具体的な手順を実行結果付きで解説します。
1. テーブルの作成
まず、DECIMAL型のカラムを持つテーブルを作成します。
mysql> create table DemoTable
-> (
-> Amount DECIMAL(10,4)
-> );
Query OK, 0 rows affected (1.18 sec)
2. レコードの挿入
INSERTコマンドを使って、テーブルに複数のレコードを挿入します。
mysql> insert into DemoTable values(100.578); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(1000.458); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(980.89); Query OK, 1 row affected (0.13 sec)
3. データの確認
SELECT文で、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable;
実行結果は以下のようになります。
+-----------+ | Amount | +-----------+ | 100.5780 | | 1000.4580 | | 980.8900 | +-----------+ 3 rows in set (0.00 sec)
4. ROUND()関数で数値を丸める
次に、UPDATE文とROUND()関数を組み合わせて、Amountカラムの値を一括で四捨五入します。
mysql> update DemoTable set Amount=round(Amount); Query OK, 3 rows affected (0.12 sec) Rows matched: 3 Changed: 3 Warnings: 0
5. 更新後のデータを確認
もう一度テーブルのレコードを確認してみましょう。
mysql> select * from DemoTable;
実行結果は以下の通りです。小数部分が四捨五入され、整数値になっていることがわかります。
+-----------+ | Amount | +-----------+ | 101.0000 | | 1000.0000 | | 981.0000 | +-----------+ 3 rows in set (0.00 sec)
まとめ
ROUND()関数に引数を1つだけ渡すと、小数点以下を四捨五入した整数値が返されます。さらに「ROUND(Amount, 2)」のように第2引数で桁数を指定すれば、小数点第2位までに丸めることも可能です。金額や計算結果などの数値データを整形したい場合に非常に便利なので、ぜひ活用してみてください。
-
MySQLのREGEXPでアルファベットを含むレコードのみを抽出する方法|数字のみのレコードを除外
MySQLのREGEXPで文字を含むレコードのみを表示する方法MySQLでは、文字列と数値が混在するカラムから、アルファベットを含むレコードだけを抽出し、数字のみのレコードを除外したいケースがあります。このような場合には、REGEXP演算子を使用すると簡単に実現できます。基本構文REGEXPを使った基本的な構文は以下の通りです。select yourColumnName from yourTableName where yourColumnName REGEXP [a-zA-Z];サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table d
-
MySQLのREGEXPで特定の数値で始まる文字列+数値のレコードを取得する方法
REGEXPを使った特定の数値で始まるレコードの取得方法MySQLでは、REGEXP演算子(正規表現)を使用することで、特定の数値で始まる文字列と数値が混在したレコードを簡単に抽出できます。基本的な構文は以下の通りです。Select yourColumnName1,yourColumnName2 from yourTableName where yourColumnName2 REGEXP ^yourStringValue[yourNumericValue];サンプルテーブルの作成まずは動作確認のためのテーブルを作成しましょう。mysql> create table demo45 -&g