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

MySQL TRUNCATE()関数とROUND()関数の重要な違いは何ですか?


TRUNCATE() 関数は、小数点以下D桁に切り捨てられたXの値を返すために使用されます。 Dが0の場合、小数点は削除されます。 Dが負の場合、値の整数部分のD個の値が切り捨てられます。次の例を考えてみましょう–

mysql> Select TRUNCATE(7.536432,2);
+----------------------+
| TRUNCATE(7.536432,2) |
+----------------------+
|                 7.53 |
+----------------------+
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)  

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

  • ROUND()関数は、2番目の引数Dと数値自体(小数点以下D桁> =5かどうか)に応じて数値を切り上げます。
  • TRUNCATE()関数は、小数点以下D桁> =5かどうかをチェックせずに、小数点以下D桁までの数値を切り捨てます。
mysql> Select ROUND(1.289,2)AS 'AFTER ROUND',TRUNCATE(1.289,2)AS 'AFTER TRUNCATE';
+-------------+----------------+
| AFTER ROUND | AFTER TRUNCATE |
+-------------+----------------+
|        1.29 |           1.28 |
+-------------+----------------+
1 row in set (0.00 sec)

  1. MySQLのTINYINT(1)とブール値の違いは何ですか?

    TINYINT(1)とブール値の間に違いはありません。キーワードBoolまたはBooleanは内部でTINYINT(1)に変換されます。または、BoolまたはBooleanはTINYINT(1)と同義であると言えます。 まずテーブルを作成しましょう- mysql> create table DemoTable (    isMarried Boolean ); Query OK, 0 rows affected (1.77 sec) 表の説明を確認しましょう- mysql> desc DemoTable; これにより、次の出力が生成されます- +-----

  2. MySQLでは、!=NULLとISNOT NULLの違いは何ですか?

    値を!=NULLと比較すると、NULLが返されます。したがって、!=NULLは無意味です。 !=NULLとISNOT NULLの違いを確認するために、最初にテーブルを作成しましょう。 まずテーブルを作成しましょう- mysql> create table DemoTable1970    (    Value int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa