MS SQL ile ilk harfi büyük diğerlerini küçük yapan kullanıcı tanımlı scalar fonksiyon
6.825 defa okundu
Konu: SQL Fonksiyonları
İçindekiler
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.
SQL
- 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ışı :
SQL
- SELECT dbo.FN_BKUCUK('YENi bİr Deneme')
Sonuc: Yeni Bir Deneme
Teşekkürler, geri bildiriminiz alındı.