IF (SELECT COUNT(*) FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'FN_KARAKTERSIFRELE') AND XTYPE IN (N'FN', N'IF', N'TF'))>0 BEGIN DROP FUNCTION [dbo].[FN_KARAKTERSIFRELE] END GO CREATE FUNCTION FN_KARAKTERSIFRELE (@ISIM NVARCHAR(4000),@KARAKTER INT,@YILDIZSAYISI INT) RETURNS NVARCHAR(4000) AS Begin ---=== @ISIM >>>> Değişkeni ismin kendisini alacak ---=== @KARAKTER >>> İsimden kaç tane karakter alınacak ---=== @YILDIZSAYISI >>> Karakterden sonra eklenecek yıldız sayısı DECLARE @SONUC NVARCHAR(4000) ; DECLARE @TABLOM TABLE (SATIRNO INT IDENTITY(1,1) ,ID INT,ISIM NVARCHAR(4000)) INSERT INTO @TABLOM SELECT 1 ID,T.C.value('.', 'VARCHAR(4000)') AS ISIM FROM (SELECT CAST('' + REPLACE(@ISIM,' ','') + '' AS XML) AS X) AS A CROSS APPLY X.nodes ('/C') AS T(C) SELECT @SONUC= stuff((select ' '+CASE WHEN LEN(ISIM)>=@KARAKTER THEN SUBSTRING(ISIM,1,@KARAKTER)+''+REPLICATE('*', @YILDIZSAYISI) ELSE ISIM END FROM @TABLOM n WHERE n.ID = n.ID ORDER BY N.SATIRNO ASC FOR XML PATH('')), 1, 2, '') FROM @TABLOM AS T GROUP BY ID RETURN @SONUC END go DECLARE @ISIMLER TABLE (ISIM NVARCHAR(4000)) INSERT INTO @ISIMLER VALUES('Ferhan Güney Bayrak Sultan'),('Hasan Gönül'),('Hüseyin Halil Göktürk') SELECT *,dbo.FN_KARAKTERSIFRELE(ISIM,'3','3')SONUC FROM @ISIMLER