گاهی اوقات ممکن است نیاز داشته باشیم در یک عدد، آخرین رقم (ارقام) غیر صفر را بدست بیاوریم. برای مثال دو عدد 185005035 و 56056502 را در نظر بگیرید، با اجرای کوئری زیر نتیجه عدد اول برابر 35 و نتیجه عدد دوم 2 میباشد.
declare @t table (num int) insert into @t select 185005035 union all select 56056502 select num, right(num,case when string_len=0 then total_len else string_len-1 end) as new_num from ( select num,len(num) as total_len, patindex('%[0]%',cast(reverse(num) as varchar(100))) as string_len from @t ) as t |