IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FN_OzelKarekterleriTemizle]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION [dbo].[FN_OzelKarekterleriTemizle]
go


CREATE FUNCTION [dbo].[FN_OzelKarekterleriTemizle](@STR NVARCHAR(200),@BOSLUKSILINMESINSIN BIT=1)  
RETURNS NVARCHAR(200)
AS
 
BEGIN
	--DECLARE @STR NVARCHAR(20)='SERD-AR'
	DECLARE @UZUNLUK INT
	DECLARE @SAYAC INT
	DECLARE @ARA NVARCHAR(20)
	declare @SONUC NVARCHAR(200)

    SET @SONUC=''
	SET @UZUNLUK = 0
	WHILE @UZUNLUK<=LEN(@STR)
	BEGIN
		SET @ARA=SUBSTRING(@STR,LEN(@STR)-@UZUNLUK,1)
		
		  
		IF (@BOSLUKSILINMESINSIN=1) AND ((ASCII(@ARA)>=48 AND ASCII(@ARA)<=57) OR (ASCII(@ARA)>=65 AND ASCII(@ARA)<97) OR (ASCII(@ARA)>=90 AND ASCII(@ARA)<122) OR (ASCII(@ARA)=32))   /*32=BOŞLUK=SPACE ONUDA KONTROL ETMESİN*/
		BEGIN		    
			SET @SONUC=@SONUC+@ARA
        END

		IF (@BOSLUKSILINMESINSIN=0) AND ((ASCII(@ARA)>=48 AND ASCII(@ARA)<=57) OR (ASCII(@ARA)>=65 AND ASCII(@ARA)<97) OR (ASCII(@ARA)>=90 AND ASCII(@ARA)<122) )   /*32=BOŞLUK=SPACE ONUDA KONTROL ETMESİN*/
		BEGIN		    
			SET @SONUC=@SONUC+@ARA
        END
		

		SET @UZUNLUK=@UZUNLUK+1
		
	END
	RETURN REVERSE(@SONUC)
END


--SELECT DBO.[FN_OzelKarekterleriTemizle]('s*E-RDA R',1)

--SELECT ASCII('0'),ASCII('9') T
