Q&A for professional and enthusiast programmers
DECLARE @x varchar(max)='1 5 4 3 6 1 3 17 1 -8 0 -7' DECLARE @a INT, @b INT, @ INT WHILE @x>'' SELECT @a=@b,@b=LEFT(@x,z),@x=STUFF(@x,1,z,''),@=IIF(@a=0,IIF(@b<@,@,@b),IIF(@b<>0 or @>@a,@,@a)) FROM(SELECT charindex(' ',@x+' ')z)z PRINT @