Geri bildiriminiz için teşekkür ederim.
Yuvarlamadan dolayı çıkıyor sanırım bir tane ktf sadece örnek olması açısından yazdım. Yuvarlamadan çıkan sorunu sanırım halletim.
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'DBO.BIRIMCEVRIM') AND XTYPE IN (N'FN', N'IF', N'TF'))
DROP FUNCTION BIRIMCEVRIM
GO
CREATE FUNCTION DBO.BIRIMCEVRIM (@STOK DECIMAL(38,2),@CEVRIM INT)
RETURNS TABLE WITH SCHEMABINDING AS
RETURN
SELECT 'Ana Birim :'+CAST(floor(@STOK) AS varchar)+' İkinci Birim Adet:'+CAST(CAST(ROUND(((ROUND(@STOK,-1)-(@STOK)))*@CEVRIM,0) AS decimal(38,0)) AS varchar) [Sonuç]
Sizin verdiğiniz değere göre kodu çalışması ;
SELECT *,(SELECT SONUÇ FROM DBO.BIRIMCEVRIM ([Fiili Stok],[Çevrim])) [İstenen] FROM (
SELECT '3499.5185' [Fiili Stok],'27' [Çevrim] UNION ALL
SELECT '3499.52' ,'27') AS TMP