This is simply a brute force division, could be done this way
😎
DECLARE @DECIM DECIMAL(18,5) = 125521.12345;
/* Brute force division */
;WITH NX(N) AS (SELECT N FROM (VALUES
(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) AS X(N))
,NUMBERS(N) AS
(
SELECT CAST(ROW_NUMBER() OVER
(ORDER BY (SELECT NULL)) AS DECIMAL(18,5)) AS N
FROM NX N1,NX N2,NX N3,NX N4,NX N5,NX N6,NX N7
)
SELECT TOP 1
CAST(CAST((@DECIM * NM.N)
+ ((@DECIM % 1) / (1/NM.N)) AS BIGINT) AS VARCHAR(25))
+ '/' + CAST(CAST(NM.N AS INT) AS VARCHAR(25))
FROM NUMBERS NM
WHERE @DECIM % (CAST(1 AS DECIMAL(18,5))/NM.N) = 0;
Results
-----------------
2510424938/20000