如题,我有个列保存了一些像数字的字符串,但是长度超过int型大小。
如果用 col + ‘00000’,SqlServer2000会把它当做数字来计算
但是如果用 col * ‘00000’,又超过int的长度了
请问我应该怎么做、?
如果用 col + ‘00000’,SqlServer2000会把它当做数字来计算
但是如果用 col * ‘00000’,又超过int的长度了
请问我应该怎么做、?
调试欢乐多
建立如下表:
create table #temp (c1 nvarchar(50),c2 int);
insert into #temp values('12345667788888888888','2147483647');对于字符串类型的的c1列,直接用字符串相加就可以
测试代码如下:declare @str nvarchar(50);
select @str=c1 + '000000' from #temp
print @str结果为:12345667788888888888000000在整数类型的列建立如下代码:先强制转换int为字符串类型declare @str nvarchar(50);
select @str=cast(c2 as nvarchar(20))+ '000000' from #temp
print @str得出如下结果:
2147483647000000楼主可以先把你那个列转成字符串(即使是字符串类型),然后再相加,希望对你有帮助
select cast(col varchar(20))+'00000'
select cast(col as varchar(20))+'00000'
看楼上多楼的就可以
sqlserver是优先把字符类型转成数字的
比如 select 1+'1'
结果是2 而不是11