如何更新数据库中部分数据

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:35:28
我在数据库库中的数据出现问题,如何更新?
问题如下:1)家庭住址:###楼1号###室,###楼2号###室,###楼3号###室...###楼10号###室,###楼11号###室,###楼12号###室...
现在我想改成:###楼01号###室,###楼02号###室,###楼03号###室...###楼10号###室,###楼11号###室,###楼12号###室...
2)关于ID问题:比如ID现在为6位数,最后的两位都是0,现在想变成5为数,将最后两位的0变为一位的0。例:100100 -> 10010 , 或者这样 1001 -> 10010.
请问下高手如何修改,谢谢!
现在是有一部分ID为6位,要更新成5位,有一部分ID为4位,要更新成5位,如何Update 用数据库语言来更新?

SqlServer数据库-----------------

问题1,在住址字段的前4位保证都是“###楼”的情况下:

update [表名] set [住址字段]= case (select substring([住址字段],6,1) from [表名] where [主键]=t.[主键]) when '号' then left([住址字段],4)+'0'+right([住址字段],len([住址字段])-4) else [住址字段] end from [表名] t

问题2:

update [表名] set ID=left(ID,4)+'0'

自行替换两个sql语句中用方括号括起来的部分,然后在查询分析器中执行就可以了。

既然id字段都是数值,实际上可以用简单的数学运算来解决。

UPDATE table SET id=id/10;

当然,如果ID不能被10整除的话可是会使ID出现小数的哦

所以还可以用取子字符串的方式取出ID的0到(字符串长度-1)的子字符串

如:

UPDATE table SET id=SUBSTR(0,STRLEN(id)-1,id);

上面的SUBSTR,STRLEN是我随便写的,只是意思意思,不一定可以直接运行的,具体的函数与用法还要查相关文档

问题1:手动修改吧,数据不是很多时。
问题2:强制把ID字段的长度设置为5位。

哈哈,直接把数据库字段位数改为5位。