从数字中删除数字,Sql server

从数字中删除数字,Sql server,sql,sql-server,Sql,Sql Server,表1员工: 现在我想通过删除每个员工工资中的0来计算工资总额 i、 e;12+15+2=29 你知道如何取得我的成绩吗 谢谢如果薪资是数字类型,您需要先将其转换为VARCHAR。然后使用REPLACE去掉0,然后将其转换回数字类型,最后再进行求和: 如果Salary是数字类型,则需要首先将其强制转换为VARCHAR。然后使用REPLACE去掉0,然后将其转换回数字类型,最后再进行求和: 或者您可以简单地使用replace函数 或者,您也可以简单地使用替换功能此代码也可以: sum(replace

表1员工:

现在我想通过删除每个员工工资中的0来计算工资总额

i、 e;12+15+2=29

你知道如何取得我的成绩吗

谢谢

如果薪资是数字类型,您需要先将其转换为VARCHAR。然后使用REPLACE去掉0,然后将其转换回数字类型,最后再进行求和:

如果Salary是数字类型,则需要首先将其强制转换为VARCHAR。然后使用REPLACE去掉0,然后将其转换回数字类型,最后再进行求和:

或者您可以简单地使用replace函数


或者,您也可以简单地使用替换功能

此代码也可以:

sum(replace(salary,"0",""))

此代码也应该起作用:

sum(replace(salary,"0",""))

什么数据类型是薪水?薪水是整数类型。为什么?我当然希望我的工资不是这样计算的!!!这是hackerrank的一个编码问题。用户输入数据时,键盘上的0键似乎不起作用。我必须找出实际总工资和未包含0的总工资之间的误差量差异。奇怪的问题薪水是什么数据类型?薪水是整数类型。为什么?我当然希望我的工资不是这样计算的!!!这是hackerrank的一个编码问题。用户输入数据时,键盘上的0键似乎不起作用。我必须找出实际总工资和未包含0的总工资之间的误差量差异。奇怪的问题虽然这个代码片段是受欢迎的,可能会提供一些帮助,但它将是如何以及为什么解决这个问题的。记住,你是在将来回答读者的问题,而不仅仅是现在提问的人!请在回答中添加解释,并说明适用的限制和假设。特别是,为什么要使用AVG而不是SUM?虽然这个代码片段是受欢迎的,并且可能会提供一些帮助,但它将是如何以及为什么解决这个问题的。记住,你是在将来回答读者的问题,而不仅仅是现在提问的人!请在回答中添加解释,并说明适用的限制和假设。特别是,为什么使用平均值而不是总和?
SELECT
    SUM(CAST(REPLACE(CAST(Salary AS VARCHAR(10)), '0', '') AS INT))
FROM Employee
SELECT ROUND (AVG(Salary) - 
        AVG(CONVERT(INTEGER, REPLACE(CONVERT(VARCHAR, Salary), 0, ''))), 0 )
FROM EMPLOYEES
select ceil(avg(salary) - avg(replace(salary,'0',''))) from employees;
sum(replace(salary,"0",""))