MS SQL ile ilk harfi büyük diğerlerini küçük yapan kullanıcı tanımlı scalar fonksiyon

MS SQL ile ilk harfi büyük diğerlerini küçük yapan kullanıcı tanımlı scalar fonksiyon

Excelde ilk harfin büyük diğerlerini küçük olması için YAZIM.DÜZENİ (PROPER) fonksiyonu kullanılır. Buradaki yazdığımız fonksiyonda Yazım.Düzeni gibi çalışır. Örneğin Excelde A1 hüceresinde "YENi bİr Deneme" ifasesi olsun. Excel ile aşağıdaki formül yazılırsa,

=Yazım.Düzeni(A1)  

Sonuc: Yeni Bir Deneme  olur bizim fonksiyonumuzda bu işlemi sql için yapacaktır.                                                                                                                                                                                                                                        

CREATE FUNCTION [dbo].[FN_BKUCUK] (@kelime CHAR(250)) 

RETURNS CHAR(250) AS 

BEGIN 

     DECLARE @girdi CHAR(250),@sonuc CHAR(250),@say INTEGER,@uzunluk INTEGER

     DECLARE @Eharf AS CHAR(1),@Yharf AS CHAR(1)

     SET @girdi = RTRIM(LTRIM(@kelime))

     SET  @uzunluk=LEN(@girdi)

     SET @say=0

     SET @sonuc=''

     WHILE @uzunluk>@say 

     BEGIN

          SET @Eharf=SUBSTRING (@girdi,@say,1)

          SET @say=@say+1

          SET @Yharf=SUBSTRING (@girdi,@say,1)     

          IF  @say=1 OR @Eharf='.' OR @Eharf=''                   

          BEGIN

                SET @sonuc=RTRIM(@sonuc)+' '+ 

                LTRIM(UPPER(@Yharf COLLATE Turkish_CS_AS))    

          END 

          ELSE

          BEGIN

                SET @sonuc=RTRIM(@sonuc)+

                LTRIM(LOWER(@Yharf COLLATE Turkish_CS_AS))

          END                           

     END

     RETURN @sonuc

END

 

Fonksiyonun kullanılışı :

SELECT dbo.FN_BKUCUK('YENi bİr Deneme')

Sonuc: Yeni Bir Deneme                    


İlgili Yazılar