【问题标题】:how to Round a value in SQL?如何在 SQL 中舍入一个值?
【发布时间】:2014-01-04 04:47:31
【问题描述】:

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

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

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

它返回的工资是7787.000992213

如何舍入该值?

【问题讨论】:

    标签: mysql sql database phpmyadmin


    【解决方案1】:

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

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

    如果您想将其四舍五入为最接近的整数,请使用ROUND

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

    【讨论】:

      【解决方案2】:

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

      你的例子:

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

      【讨论】:

        【解决方案3】:

        使用圆函数read here

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

        【讨论】:

          【解决方案4】:

          使用MySQL的ROUND()函数:

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

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

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

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

          圆(X),圆(X,D)

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

          【讨论】:

            【解决方案5】:

            ROUND() 函数用于将数值字段四舍五入到指定的小数位数。

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

            四舍五入只是意味着从 5 向上舍入或从小于 5 向下舍入。 ROUND 是独一无二的,因为您可以告诉 SQL 您希望舍入哪个位置

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

            【讨论】:

              【解决方案6】:

              试试这个查询

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

              【讨论】:

                猜你喜欢
                • 2017-09-13
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-11-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多