我定义字段的时候出现了问题,例如  gzze 工资 我定义为字符型,现在里面有了数据,
我用 select sum(gzze) from 表名 不可以用了
我现在要求工资总额还有其他算法吗?

解决方案 »

  1.   

    要数值型的字段才可以用SUM()
      

  2.   

    工资应该定为Currency型字段。
      

  3.   

    如果只是工资完全可以定义成int
      

  4.   

    sum(cast(gzze,money)) as gz_n
      

  5.   

    试试以下两种方法:
    1.select sum(convert(money,gzze) from 表名。2.重新建表:
    假设原表名为A,有三个字段:(姓名:name,varchar连续)、(部门:department,varchar)、(工资:gzze,就是你定义错了的varchar)新建一表,表名:B,也有三个字段:(姓名:name,varchar连续)、(部门:department,varchar)、(工资:gzze,可用money或decimal类型)
    执行语句:
    select a.name,a.deptment,convert(money,a.gzze) into B from A
    然后打开B表,确认数据是否正确,如果正确就可把A表删除,再把B表改名为A。由于手头上没有SQL SERVER,没有进行测试,有兴趣可试试。。推荐使用第二种方法,因为可以一劳永逸。但一定要留意,进行操作前要做好备份,以防意外。