MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの小数フィールドが丸められないようにするにはどうすればよいですか?


DECIMAL()関数を使用して、小数フィールドの丸めを停止できます。これは、丸められた小数フィールドのデモです。この例では、最初にデモテーブルを作成しましょう

mysql> create table stopRoundingDemo
   -> (
   -> Amount DECIMAL(7)
   -> );
Query OK, 0 rows affected (0.67 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into stopRoundingDemo values(7836.783);
Query OK, 1 row affected, 1 warning (0.43 sec)
mysql> insert into stopRoundingDemo values(1737.67);
Query OK, 1 row affected, 1 warning (0.23 sec)
mysql> insert into stopRoundingDemo values(110.50);
Query OK, 1 row affected, 1 warning (0.33 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from stopRoundingDemo;

以下は出力です

+--------+
| Amount |
+--------+
| 7837   |
| 1738   |
| 111    |
+--------+
3 rows in set (0.08 sec)

上記のサンプル出力では、小数点以下は四捨五入されています。

次に、小数の丸めを停止する方法を説明します。そのために、最初に新しいテーブルを作成し、四捨五入せずに結果が得られるようにDECIMAL型を設定しましょう

mysql> create table stopRoundingDemo2
   -> (
   -> Amount DECIMAL(10,4)
   -> );
Query OK, 0 rows affected (0.81 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into stopRoundingDemo2 values(7836.783);
Query OK, 1 row affected (0.14 sec)
mysql> insert into stopRoundingDemo2 values(1737.67);
Query OK, 1 row affected (0.14 sec)
mysql> insert into stopRoundingDemo2 values(110.50);
Query OK, 1 row affected (0.16 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from stopRoundingDemo2;

出力は次のとおりです

+-----------+
| Amount    |
+-----------+
| 7836.7830 |
| 1737.6700 |
| 110.5000  |
+-----------+
3 rows in set (0.00 sec)

  1. フィールド値からコンマをカウントするMySQLクエリ?

    以下は構文です- select length(yourColumnName) - length(replace(yourColumnName, ',', '')) as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1510    -> (    -> Value varchar(50)    -> ); Query OK, 0 rows affected (6.75

  2. MySQLの別のフィールドからフィールドの値を導出する方法は?

    このために、ユーザー定義変数の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1868      (      Value int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1868 values(10); Query OK, 1 row affected (0