求一个sql语句写法

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:34:16
table表的id字段每个id前面加5个0
id=123;执行语句后id=00000123;

update table set id = '00000'+ id;这样不行!
这个id是varchar(255)的,而且id的原始长度不一,各种长度的都有,用你们几位的方法都不行的,
update table set id = '00000'+ id; 这个也不行,数据库是mysql5.0的.

而且执行update table set id = '00000'+ id;这句后把前面带0的id的0去掉了,例如有个id原来是003,执行语句后变成了3;

-_-!
有好好的LPAD不用....都在这儿截字符串玩.....
update table set id = lpad(id,8,'0');
不行么....

你原来的id属性是数字型,你那么改当然不行,你得先把字段属性改成字符型后才能用上边的语句,如果是数字型,你永远也改不成你想要的那种

你首先要设置table表项的长度,像你的那个就要设置8位,然后再更新。

这样当然是不行的。
一个int一个varchar
用这个
update table set id = right(cast((1000000000+ id) as varchar(20)),8);

先给他转成int 例如1000000000123 再转成字符串
再从右边截取你想要的位数
嗯。还有。要把你的ID类型改成varchar(10)
----------------------------------------
哦 mysql 我不会。呵呵 我以为是mssql 你去找一下,类似于cast,right的函数

你原来的id属性是数字型,改为字符串型

行!只要满足条件:字段ID是字符型;