更新字段的SQL语句

处处留心 2014-05-27 08:50:09
是这样的。假如我有个字段是学生成绩。现在我变成150分制了。要把所有的字段乘以1.5倍

现在的问题是,我存成绩的这个字段用的是字符型的。请问怎么批量更新?

我用的是Access数据库,字段也不允许改成数字型的。
要不然直接 Result = Result*1.5就行啦

求帮助,谢谢
...全文
206 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
练白龙 2014-05-30
  • 打赏
  • 举报
回复

SELECT a1 AS '转换前', CONVERT(INT,a1)*1.5 AS '转换后' FROM tb1
转换前 转换后 -------------------------------------------------- --------------------------------------- 100 150.0 75 112.5 (2 行受影响)
卖水果的net 版主 2014-05-30
  • 打赏
  • 举报
回复
Access 也可以直接 使用 Result = Result*1.5 这样的语句,虽然 Result 是字符型的。 但是,还是建议 LZ 新建一列,把 set newcol = Result * 1.5 ; 如果数据量不大的话,最好是逐行更新,或者是分批更新 ,万一哪一行数据含有非法字符,可以单独跳过,手工处理一下。
exception92 2014-05-28
  • 打赏
  • 举报
回复
字段怎么是字符类型的?? 把它转成float或者decimal(9,2)类型,再转成字符类型。
在路上_- 2014-05-27
  • 打赏
  • 举报
回复
update 成绩表 set 成绩=cast(cast(成绩 as decimal(5,2)*1.5 as varchar(10))
發糞塗牆 2014-05-27
  • 打赏
  • 举报
回复
cast先转换再*1.5 再转换会字符试试。不过用字符串存分数略微不妥

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧