MySQL TRUNCATE()和ROUND()函数之间的显着区别是什么?

TRUNCATE()函数是用于返回X的截断到小数位的d数的值。如果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舍入到最接近的整数。如果提供了第二个参数D,则该函数将X返回四舍五入到D的小数位。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)

从上面的定义和示例中,我们可以观察到这两个函数之间的以下区别-

  • ROUND()函数根据第二个参数D和数字本身(D后面的数字小数位数是否大于等于5)对数字进行向上或向下取整。  

  • TRUNCATE()函数将数字截断最多D个小数位数,而无需检查D个十进制后的数字是否大于等于5。  

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)

以上是 MySQL TRUNCATE()和ROUND()函数之间的显着区别是什么? 的全部内容, 来源链接: utcz.com/z/335265.html

回到顶部