请问SQL server 中如何更新字段

来源:百度知道 编辑:UC知道 时间:2024/05/15 00:25:02
一个表A,里面有一个主键id,字段no,no里大约有3000多数据,都是四位数,如2154,5689,5696等等,我想要更新这些数据,在这些字段前加上0000,使每位数据都是8位的,如00005985,00003625等,请问sql语句应当怎样写,谢谢!!

no是什么类型的?如果是nvarchar或者varchar,并且字段长度在8字节或8字节以上,可以直接更新。
update A
set no='0000'+no
如果不是字符串类型的,那需要修改字段类型
修改语句为
alter table A
alter column no varchar(8)
修改以后再执行更新

若是外部数据源导入临时数据表,四位数被置为numeric型,需转换为字符型,关键是先得转为整型,再转为字符。
replace A
set no = '0000' + cast(cast(no as bigint) as varchar)
以上为Transact-SQL+MSSQL2005环境。
(MSSQL2005中的bug,CAST函数常常不起作用,需重新连接服务器才能解决)
祝你成功!

我写一个 你看行不行

use A

repl all no with "0000"+str(no)

或者

updete A set no="0000"+str(no)