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

MySQL TRUNCATE()関数の出力で、小数点以下の桁数を指定する2番目の引数の負の値はどのように影響しますか?


2番目の引数の負の値を指定すると、小数点の前の数字がなしで削除されます。 四捨五入。削除される桁数は、負の2番目の引数の値によって異なります。次の例は、TRUNCATE()関数の出力における、2番目の引数の負の値に応じた変更を示しています。

mysql> Select TRUNCATE(1789.456,-1);
+-----------------------+
| TRUNCATE(1789.456,-1) |
+-----------------------+
|                  1780 |
+-----------------------+
1 row in set (0.00 sec)  

2番目の引数の値が-1であるため、小数点の前の最初の桁が削除されるため、上記のクエリは1780を返します。

mysql> Select TRUNCATE(1789.456,-2);
+-----------------------+
| TRUNCATE(1789.456,-2) |
+-----------------------+
|                  1700 |
+-----------------------+
1 row in set (0.00 sec)  

2番目の引数の値が-2であるため、小数点の2桁前が削除されるため、上記のクエリは1700を返します。

mysql> Select TRUNCATE(1789.456,-3);
+-----------------------+
| TRUNCATE(1789.456,-3) |
+-----------------------+
|                  1000 |
+-----------------------+
1 row in set (0.00 sec)  

2番目の引数の値が-3であるため、小数点の3桁前が削除されるため、上記のクエリは1000を返します。

mysql> Select TRUNCATE(1789.456,-4);
+-----------------------+
| TRUNCATE(1789.456,-4) |
+-----------------------+
|                     0 |
+-----------------------+
1 row in set (0.00 sec)  

小数点までの合計桁数が4で、2番目の引数の値が-4であるため、上記のクエリは0を返します。


  1. 引数のリストに最初の引数の数よりも大きい数がない場合、どのMYSQL INTERVAL()関数が返されますか?

    この場合、MySQL INTERVAL()関数は、引数リストの最後の数値に1を加えたもののインデックス番号を返します。つまり、リストの最後のインデックス番号に1を加えたものが返されます。この関数によって。次の例はそれを示します- mysql> Select INTERVAL(50,20,32,38,40); +--------------------------+ | INTERVAL(50,20,32,38,40) | +--------------------------+ | 4               &n

  2. 文字列をリンクしているときにNULL値を追加すると、CONCAT_WS()関数の出力はどうなりますか?

    実際、CONCAT_WS()関数は、その最初の引数、つまりセパレータがNULLの場合にのみ、NULLを返します。例は以下のとおりです- mysql> Select CONCAT_ws(NULL,'Tutorial','Point','.com'); +-------------------------------------------+ | CONCAT_ws(NULL,'Tutorial','Point','.com') | +-------------------------------