2015-11-03 178 views

回答

1

根据@Aishvarya和@Arvo的建议,代码如下所示。很简单。

declare @input varchar(100) = 'ABCDEFGHIJKLMNOPQR' 
declare @output varchar(100) = '' 

declare @index int = 1 
declare @max_index int = (select len(@input)) 

while @index <= @max_index 
begin 
    if @index % 2 = 0 
     set @output = @output + substring(@input, @index, 1) 

    set @index = @index + 1 
end 

print @output -- BDFHJLNPR 
+0

请注意,在第1次迭代('@ index' = 1)结束后,通过将@ @ index增加2 *,可以使循环迭代次数更少。 – niksofteng

+0

非常感谢这个工作 –

1

指数从1开始在SQL所以用Substring

SELECT SUBSTRING('ABCDEFGHIJKLMNOPQR', 1, 1) //returns the character at 2nd position 
SELECT SUBSTRING('ABCDEFGHIJKLMNOPQR', 3, 1) //returns the character at 4th position 

等。

+0

对不起Aishvarya你没有得到我的问题。我希望所有的字符都返回到位于偶数位置的查询中。 –

+0

你想要偶像中的角色不是吗? – MusicLovingIndianGirl

+0

@KunalChoudhary - 解释得更好,Aishvarya的答案对我来说也是正确的。 – Arvo

相关问题