请问下关于字符串的数字相加的问题。有个表列mycol,属性为VARCHAR(5),其中存的是00001,00002,00003 等。我想在想将他们都加一个数,这个数随便,假设为 6,44,321,难么结果应该成为 00007,00046,00324.(结果一定要是前导0的5位)我加的时候转换类型老是不对,请教大家。
解决方案 »
- 请问如何用循环的方式 distinct
- 超难的SQL算法,做梦都在想怎么办?拜师!!!!
- 数据分类 前N条
- 对同一个表,按不同条件,计算多个SUM,怎么写
- 从一个union的集合中查询出前10条记录,并且按照日期排序,应该怎样写?
- 高分求解一复杂应用
- 2003上安装sqlserver2000的问题
- 请大家看看,如下形式的触发器如何写!!!急!
- 如何制作一个数据库模块,让程序所有的数据操作都访问
- Format(IIf(Sum([NBR])=0,0,Sum([ANS])/Sum([NBR])),"Percent")在SQLSERVER 中怎样写
- 求一组SQL2000 select 语句
- 关于字符串的数字相加的问题
set @s = '00001'
set @s = right(@s+100006, 5) -- + 6
select @s -- 00007
right('0000' + cast(cast(mycol as int) + 6 as varchar),5)
insert into tb values('00001')
insert into tb values('00002')
insert into tb values('00003')
goselect right('0000' + cast(cast(mycol as int) + 6 as varchar),5) from tb
/*
----------
00007
00008
00009(所影响的行数为 3 行)
*/select right('0000' + cast(cast(mycol as int) + 44 as varchar),5) from tb
/*
----------
00045
00046
00047(所影响的行数为 3 行)
*/select right('0000' + cast(cast(mycol as int) + 321 as varchar),5) from tb
/*
----------
00322
00323
00324(所影响的行数为 3 行)
*/
drop table tb