create table zs (fire int)insert into zs
select 12
union
select -15
select case when fire>0 then '+'+convert (varchar (20),fire) else convert (varchar (20),fire) end from zs
select 12
union
select -15
select case when fire>0 then '+'+convert (varchar (20),fire) else convert (varchar (20),fire) end from zs
解决方案 »
- sqlserver2008,如何获取存储过程中间数据集和使用SQL插入图片
- 如何跨服务器查询两表?
- varchar值转换溢出了int列,超出了最大整数值
- 想对数据库某字段的内容进行更改!求助
- .NET Compact Framework下开发移动设备数据库遇到的问题
- 两张表的统计,因数据量庞大,希望考虑性能问题
- 一道sql面试题
- 大菜鸟的小问题
- 怎样定时执行一个DTS包??
- 先祝大家中秋节快乐!我有一个很简单的问题,请指点!
- 我的某一字段的属性是decimal,为sql="....order by 这个字段" 不行呢?
- 在SQL SERVER中,如何在命令行中更换用户,等等基本的命令语句,50大洋求教
------
+12
-15
+12
自己写了一个函数。/*将整数转换为带+-符号的字符串*/
if object_id('IntToSignStr') is not null drop function IntToSignStr
go
create function IntToSignStr
(@int integer)
returns varchar(10)
as
begin
declare @str varchar(10)
if @int > 0 select @str = '+' + rtrim(cast(@int as char(10)))
else if @int < 0 select @str = '-' + rtrim(cast(@int as char(10)))
else select @str = rtrim(cast(@int as char(10)))
return @str
end
go
create function IntToSignStr
(@int integer)
returns varchar(10)
as
begin
declare @str varchar(10)
if @int > 0 select @str = '+' + rtrim(cast(@int as char(10)))
else select @str = rtrim(cast(@int as char(10)))
return @str
end
go
~~~~~
这个'-'是多余的
select dbo.IntToSignStr(fire) from zsfire
-----
-15
+12
-15
+12
+cast([int字段] as varchar(10) )
from 表
create function IntToSignStr
(@int integer)
returns varchar(10)
as
begin
declare @str varchar(10)
if @int >= 0 select @str = '+' + rtrim(cast(@int as char(10)))
else select @str = rtrim(cast(@int as char(10)))
return @str
end
go