我正在学习数据库,我有一个问题,
当我运行以下查询给我12个月平均工资时,
SELECT `EmployeeNo`,(`Salary`/12,) as AverageSalary FROM Employee
它返回的薪水如7787.000992213
我如何围绕价值?
答案 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 docs,ROUND()
函数接受两个参数:第一个是要舍入的数字,第二个可选指定要舍入的小数位:
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