如何在SQL中舍入一个值?

时间:2014-01-04 04:47:31

标签: mysql sql database phpmyadmin

我正在学习数据库,我有一个问题,

当我运行以下查询给我12个月平均工资时,

SELECT `EmployeeNo`,(`Salary`/12,) as AverageSalary FROM Employee

它返回的薪水如7787.000992213

我如何围绕价值?

6 个答案:

答案 0 :(得分:2)

如果您希望截断数字,请使用TRUNCATE

执行此操作
SELECT `EmployeeNo`,TRUNCATE((`Salary`/12,),0) as AverageSalary FROM Employee

如果要将其舍入为最接近的整数,请使用ROUND

执行此操作
SELECT `EmployeeNo`,ROUND(`Salary`/12,) as AverageSalary FROM Employee

答案 1 :(得分:1)

ROUND(X), ROUND(X,D) - 将参数X舍入到D小数位

对于你的例子:

SELECT `EmployeeNo`, ROUND(`Salary`/12) as AverageSalary FROM Employee

答案 2 :(得分:0)

尝试此查询

SELECT `EmployeeNo`,ROUND(`Salary`/12,) as AverageSalary FROM Employee

答案 3 :(得分:0)

ROUND()函数用于将数字字段舍入为指定的小数位数。

SELECT `EmployeeNo`, ROUND(`Salary`/12) as AverageSalary FROM Employee

舍入只是意味着从5开始向上舍入或向下舍入。 ROUND是唯一的,因为您可以告诉SQL您想要舍入的位置

SELECT ROUND( 1 );   /* returns 1 */
SELECT ROUND( 1.5 ); /* returns 2 */
SELECT ROUND( 1.4635, 1 ); /* returns 1.5 */

答案 4 :(得分:0)

使用MySQL的ROUND()功能:

SELECT 'EmployeeNo', ROUND('Salary'/12, 0) as AverageSalary FROM Employee

或者,由于您不需要任何小数位,您可以绕过第二个参数:

SELECT 'EmployeeNo', ROUND('Salary'/12) as AverageSalary FROM Employee

根据the docsROUND()函数接受两个参数:第一个是要舍入的数字,第二个可选指定要舍入的小数位:

  

ROUND(X),ROUND(X,D)

     

将参数X舍入到D小数位。舍入算法取决于X的数据类型。如果未指定,则默认为0。 D可以为负,使得值X的小数点左边的D位变为零。

答案 5 :(得分:0)

使用圆函数read here

SELECT `EmployeeNo`, ROUND(`Salary`/12,0) as AverageSalary FROM Employee