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

MySQLでは、CEILING()およびFLOOR()関数はROUND()関数とどのように異なりますか?


CEILING() 関数は、X以上の最小の整数値を返します。次の例を検討してください–

mysql> Select CEILING(3.46);
+---------------+
| CEILING(3.46) |
+---------------+
|             4 |
+---------------+
1 row in set (0.00 sec)  

mysql> Select CEILING(-6.43);
+----------------+
| CEILING(-6.43) |
+----------------+
|             -6 |
+----------------+
1 row in set (0.02 sec)

FLOOR() 関数は、X以下の最大の整数値を返します。次の例を検討してください–

mysql> Select FLOOR(-6.43);
+--------------+
| FLOOR(-6.43) |
+--------------+
|           -7 |
+--------------+
1 row in set (0.00 sec)
 
mysql> Select FLOOR(3.46);
+-------------+
| FLOOR(3.46) |
+-------------+
|           3 |
+-------------+
1 row in set (0.00 sec)

ROUND() 関数は、最も近い整数に丸められたXを返します。 2番目の引数Dが指定された場合、関数は小数点以下D桁に丸められたXを返します。 Dは正である必要があります。そうでない場合、小数点の右側のすべての数字が削除されます。次の例を考えてみましょう-

mysql>SELECT ROUND(5.693893);
+---------------------------------------------------------+
|                    ROUND(5.693893)                      |
+---------------------------------------------------------+
|                           6                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)  

mysql>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
|                   ROUND(5.693893,2)                     |
+---------------------------------------------------------+
|                          5.69                           |
+---------------------------------------------------------+
1 row in set (0.00 sec)

上記の定義と例から、これら3つの関数の次の違いを確認できます-

  • ROUND() 関数は、2番目の引数Dと数値自体に応じて数値を切り上げまたは切り下げます(小数点以下D桁> =5かどうか)。
  • FLOOR() 関数は、数値をゼロに向かって、常に切り捨てます。
  • CEILING() 関数は、数値をゼロから切り上げ、常に切り上げます。
mysql> Select ROUND(1.415,2),FLOOR(1.415),CEILING(1.415);
+----------------+--------------+----------------+
| ROUND(1.415,2) | FLOOR(1.415) | CEILING(1.415) |
+----------------+--------------+----------------+
|           1.42 |            1 |              2 |
+----------------+--------------+----------------+
1 row in set (0.00 sec)

  1. MySQLクエリを使用して、異なる列の文字列と追加の文字列を連結するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable (    FirstName varchar(100),    LastName varchar(100) ); Query OK, 0 rows affected (0.76 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris','Brown'); Query OK, 1 row affected (0.1

  2. MySQLで同じ列から異なる値を選択し、それらを異なる列に表示するにはどうすればよいですか?

    条件に基づいて異なる値を選択するには、CASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(40), Score int ) ; Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Name,S