Sql server 在SQL Server 2000中如何将两个数字相加

Sql server 在SQL Server 2000中如何将两个数字相加,sql-server,tsql,sql-server-2000,Sql Server,Tsql,Sql Server 2000,假设我有一个号码62。这是由2位数字组成的 如何将两位数字相加除以10,如果结果=类似6.2的值,只需记下提示即可 declare @Number int,@Result int set @Number =62 if len(@Number) > 1 set @Result=????=--Add 6 and 2 =8 set @result=@result % 10 --Mod operator print @result -- the result shou

假设我有一个号码62。这是由2位数字组成的

如何将两位数字相加除以10,如果结果=类似6.2的值,只需记下提示即可

 declare @Number int,@Result int
 set @Number =62

 if len(@Number) > 1
 set  @Result=????=--Add 6 and 2 =8

 set @result=@result % 10  --Mod operator

  print @result 

 -- the result should be 2 in this case
我做错了什么


非常感谢

我想
@Number%10
就是您要找的。它返回任意数字的最后一位。62->2、97->7等

更新:

我可能误解了这个问题。也许你想要
10%(@Number/10)+@Number)


(@Number/10)+@Number
是一个两位数的数字之和。

我认为
@Number%10
就是你要找的。它返回任意数字的最后一位。62->2、97->7等

更新:

我可能误解了这个问题。也许你想要
10%(@Number/10)+@Number)


(@Number/10)+@Number
是两位数的数字之和。

如果数字总是两位数,那么我将使用
左(@Number,1)
右(@Number,1)
访问每个数字。如果不是,请回复,我将在您需要的循环方面为您提供一些帮助

更紧迫的一个问题是,您期望2,但8 mod 10的结果是8。如果您要查找2,则总和为10 mod 8
(10%@Result)


无论如何,如果这不完全符合您的要求,请给我回电。

如果数字总是两位数,那么我将使用
左(@number,1)
右(@number,1)
访问每个数字。如果不是,请回复,我将在您需要的循环方面为您提供一些帮助

set @tens = floor(@Number / 10);
set @ones = @number - @tens;
set @Result = @tens + @ones;
更紧迫的一个问题是,您期望2,但8 mod 10的结果是8。如果您要查找2,则总和为10 mod 8
(10%@Result)

无论如何,如果这不能完全满足你的要求,请回击我

set @tens = floor(@Number / 10);
set @ones = @number - @tens;
set @Result = @tens + @ones;
或者使用
left
right
访问子字符串


或者使用
访问子字符串。

我没有办法尝试:

DECLARE @Number VARCHAR(2) 
SET @Number = '62'

declare @firstNum INT, @secondNum INT
SET @firstNum = CAST(SUBSTRING(@Number, 1, 1) AS INT)
SET @secondNum = CAST(SUBSTRING(@Number, 2, 1) AS INT)

DECLARE @Result int

SET @Result = (@firstNum + @secondNum) % 10

我没有办法尝试:

DECLARE @Number VARCHAR(2) 
SET @Number = '62'

declare @firstNum INT, @secondNum INT
SET @firstNum = CAST(SUBSTRING(@Number, 1, 1) AS INT)
SET @secondNum = CAST(SUBSTRING(@Number, 2, 1) AS INT)

DECLARE @Result int

SET @Result = (@firstNum + @secondNum) % 10
试试这个

declare @myNumber float,@result float  
set @myNumber = 62 

select 
@result = (case when len(@myNumber) = 1 then @myNumber 
  else (@myNumber /10) + cast(@myNumber as int) % 10 end)

select [Output] = STUFF(
    cast(@result as varchar(50))
    ,1
    ,charindex('.',cast(@result as varchar(50)))    
    ,'')

Output
2
希望这有帮助

如果你只想添加两个数字,试试这个(尽管上面已经实现了)

试试这个

declare @myNumber float,@result float  
set @myNumber = 62 

select 
@result = (case when len(@myNumber) = 1 then @myNumber 
  else (@myNumber /10) + cast(@myNumber as int) % 10 end)

select [Output] = STUFF(
    cast(@result as varchar(50))
    ,1
    ,charindex('.',cast(@result as varchar(50)))    
    ,'')

Output
2
希望这有帮助

如果你只想添加两个数字,试试这个(尽管上面已经实现了)


所以我想你需要这样的东西-解析代表你的数字的字符串,将各个数字相加为整数值。这会在最后给你一个总的结果-然后你做任何你需要做的事情。此代码适用于任意长度的字符串(最多50个字符=原始数字中的50位):

DECLARE@Number INT
设置@Number=62
声明@NumString VARCHAR(50)
设置@NumString=CAST(@Number为VARCHAR(50))
声明@Index INT
设置@Index=1
声明@Sum INT
设置@Sum=0

当@Index时,我想您需要这样的东西-解析表示数字的字符串,将各个数字相加为整数值。这会在最后给你一个总的结果-然后你做任何你需要做的事情。此代码适用于任意长度的字符串(最多50个字符=原始数字中的50位):

DECLARE@Number INT
设置@Number=62
声明@NumString VARCHAR(50)
设置@NumString=CAST(@Number为VARCHAR(50))
声明@Index INT
设置@Index=1
声明@Sum INT
设置@Sum=0

虽然@Index虽然你可能是对的,但我误解了这个问题,我相信这只是一种罕见的情况,
@Number%10
等于每个
10%[添加了@Number的数字]
。通常情况并非如此。好的,谢谢,我想你可能是对的。这个问题非常令人困惑。虽然你可能是对的,我也误解了这个问题,但我相信这只是一种罕见的情况,
@Number%10
等于每个
10%[添加了@Number的数字]
。通常情况并非如此。好的,谢谢,我想你可能是对的。这个问题很让人困惑。这就是问题的标题所要求的,如果这个问题让人困惑,谢谢你的帮助。如果len(number)>1,我们就快到了。如果len(number)>1,如果是的话,把两个数字加在一起(假设现在总数是62),将结果除以10=6.2,只需提醒mod运算符“%”结果应该是2我如何调整它?这不是家庭作业!!!这是计算一个数字的一种算法。两个数字相加,结果会是“62”吗?6+2=8,而不是62。这就是问题的标题所要求的,如果问题令人困惑,谢谢你的帮助。如果len(number)>1,我们就快到了。如果len(number)>1,那么将两个数字相加(假设现在总数为62),将结果除以10=6.2,只需提醒mod运算符“%”结果应该是2我如何调整它?这不是家庭作业!!!这是计算一个数字的一种算法。两个数字相加,结果会是“62”吗?这是一个非常奇怪的问题。你需要这个做什么?是作业吗?如果是这样,请把它标记为家庭作业。请不要重复发帖听起来像是一个校验数字的计算。这是一个非常奇怪的问题。你需要这个做什么?是作业吗?如果是这样的话,请把它标记为家庭作业。请不要重复发帖听起来像是一个支票数字的计算。