【问题标题】:Removing decimals in SQL Query在 SQL 查询中删除小数
【发布时间】:2017-06-24 10:34:03
【问题描述】:

我的问题很短,但我很难找到答案。但我在 SQL 中有一个选择,它具有以下搜索:

Max(CashTrans.Costprice)

在我的 SQL 结果中,我得到以下结果

-1180,00
-1377,502
-0,40
-460,00
-100,00
-100,00
-100,00
-100,00
-100,00

什么是删除“,”和所有小数的最有效和最简单的方法,所以结果会以

结尾
-1180
-1377
-0
-460
-100
-100
-100
-100
-100

谢谢,祝你有美好的一天!

【问题讨论】:

  • 请使用 SQL 中的 ROUND() 函数,如下所示:SELECT ROUND(column_name,0) FROM your_table。您还可以使用 CEILING 或 FLOOR 函数根据您的要求探索向上/向下舍入的其他选项。
  • @Ankush,round 不会删除小数,它只是将它们四舍五入,你仍然会有小数。
  • @HoneyBadger - 感谢您的意见。抱歉,我错过了问题中最重要的一点。编辑 - SELECT CAST(ROUND(column_name,0) AS int) FROM your_table

标签: sql-server select decimal


【解决方案1】:
select Max(cast(CashTrans.Costprice as int))
from your_table
...

【讨论】:

    【解决方案2】:

    你可以试试:

    CONVERT(INT, Max(CashTrans.Costprice))
    

    【讨论】:

      【解决方案3】:
      SELECT CAST(columnname AS INT) AS columnname from tablename
      

      Select 
      SUBSTRING(a,0,CHARINDEX(',',a)) from #Table2
      

      【讨论】:

        【解决方案4】:

        如果我们不确定数据类型,而不是处理转换错误

        Select 
        SUBSTRING(ID,0,CHARINDEX(',',ID)) from Table
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-30
          • 2015-08-12
          相关资源
          最近更新 更多