Recent PostsRecent Posts Popular TopicsPopular Topics
 Home Search Members Calendar Who's On

 Finding Ratio between two numbers Rate Topic Display Mode Topic Options
Author
 Message
 Posted Wednesday, June 2, 2010 8:11 PM
 SSChampion Group: General Forum Members Last Login: Friday, May 18, 2007 3:36 PM Points: 10,041, Visits: 1
 Comments posted to this topic are about the item Finding Ratio between two numbers
Post #931786
 Posted Wednesday, June 2, 2010 11:29 PM
 Forum Newbie Group: General Forum Members Last Login: Sunday, October 30, 2016 7:11 AM Points: 6, Visits: 142
 Thank you for your code. It was very helpful.By the way... I`m looking for a code to view recent T-SQL that was executed. Just like SQL Profiler but I want to incorporate it in my application. Do you know how to do that or where can I find further help ?Thanks !Doron.
Post #931847
 Posted Wednesday, June 23, 2010 4:06 AM
 SSC Journeyman Group: General Forum Members Last Login: Thursday, November 14, 2013 1:05 AM Points: 96, Visits: 277
 Hi,You might like to consider using Euclid's Algorithm to find the Highest Common Factor (Greatest Common Divisor)`CREATE FUNCTION CalculateRatio(@numerator int, @denominator int)RETURNS nvarchar(max)ASBEGIN declare @ratio nvarchar(max) declare @greatestcommondivisor int declare @x int declare @y int set @x = @numerator set @y = @denominator declare @tmp int if (@denominator > 0) begin while (@x > 0) begin if @x < @y begin set @tmp = @x set @x = @y set @y = @tmp end set @x = @x % @y end end set @greatestcommondivisor = @y if (@numerator = 0 or @denominator = 0 or @greatestcommondivisor = 1) begin set @ratio = convert(nvarchar(max), @numerator) + ':' + convert(nvarchar(max), @denominator) end else begin set @ratio = convert(nvarchar(max), @numerator/@greatestcommondivisor) + ':' + convert(nvarchar(max), @denominator/@greatestcommondivisor) end return @ratioEND`It returns a result faster than the original (even being lazy and using nvarchar(max)), much faster for larger numberscheers
Post #941626
 Posted Thursday, May 19, 2016 6:55 AM
 SSCrazy Eights Group: General Forum Members Last Login: Yesterday @ 6:45 AM Points: 8,328, Visits: 858
 Thanks for the script.
Post #1787674

 Permissions