EXEC [RemoteServer].DatabaseName.DatabaseOwner.StoredProcedureName ‘Params’
25 Mayıs 2020 Pazartesi
Linked Server Üzerinden Stored Procedure Çalıştırma
Eğer linked server üzerinde gerekli izinlerimiz varsa aşağıdaki komut ile stored prosedure çalıştırabiliriz.
EXEC [RemoteServer].DatabaseName.DatabaseOwner.StoredProcedureName ‘Params’
EXEC [RemoteServer].DatabaseName.DatabaseOwner.StoredProcedureName ‘Params’
24 Mayıs 2020 Pazar
Sayıyı Yazıya çeviren SQL fonksiyonu
Bütün herkesin Ramazan Bayramı Mübarek Olsun.
Sayıyı yazıya çeviren SQL fonksiyonları, SQL Server üzerinde geliştirme yapan her SQL programcısının zaman zaman ihtiyaç duyacağı fonksiyonlardır. Verilen bir sayıyı veya sayıları, bir rakamı yazıya çeviren fonksiyon ihtiyacı sadece SQL Server üzerinde SQL geliştiricileri için değil, değişik platformlarda geliştirme yapan her programcının bir gün karşısına çıkacak bir ihtiyaçtır.
Takip ettiğim güzel bloglardan KODYAZ üzerinde bulduğum bir fonsiyonu sizinle paylaşmak istedim.
Sayıyı yazıya çeviren SQL fonksiyonları, SQL Server üzerinde geliştirme yapan her SQL programcısının zaman zaman ihtiyaç duyacağı fonksiyonlardır. Verilen bir sayıyı veya sayıları, bir rakamı yazıya çeviren fonksiyon ihtiyacı sadece SQL Server üzerinde SQL geliştiricileri için değil, değişik platformlarda geliştirme yapan her programcının bir gün karşısına çıkacak bir ihtiyaçtır.
Takip ettiğim güzel bloglardan KODYAZ üzerinde bulduğum bir fonsiyonu sizinle paylaşmak istedim.
create function udf_sayiyi_yaziya_cevirme(
 @sayi bigint,
 @buyukharf bit
)
returns nvarchar(max)
-- developed by Eralper
(http://www.kodyaz.com)
begin
declare @yaziilesayi nvarchar(max)
set @yaziilesayi = N''
declare @sayivarchar varchar(100)
set @sayivarchar = cast(@sayi as varchar(100))
declare @toplambasamak smallint
set @toplambasamak = len(@sayivarchar)
declare @basamak smallint
declare @rakam tinyint
declare @i smallint
set @i = 0
while @i < @toplambasamak
begin
 set @basamak = @toplambasamak - @i
 set @i = @i + 1
-- sıra ile soldan başlayarak rakamları
oku
 set @rakam = substring(@sayivarchar, @i, 1)
 select
 
@yaziilesayi = @yaziilesayi +
-- rakamın basamak değeri gözönüne alınarak
metin oluşturuluyor
  case @rakam
  when 0 then N''
  when 1 then
   case @basamak % 3 when 0 then N'yüz' when 2 then N'on' when 1 then
   
case when @toplambasamak = 4 and @i = 1 then N'' else
    
case when @i = @toplambasamak then N'bir' else
     
case when substring(@sayivarchar, @i-2, 2) = '00'
      
then N'' else N'bir'
     
end
    
end
   
end
   end
  when 2 then
   case @basamak % 3
   
when 0 then N'iki yüz' when 2 then N'yirmi' when 1 then N'iki' end
  when 3 then
   case @basamak % 3
   
when 0 then N'üç yüz' when 2 then N'otuz' when 1 then N'üç' end
  when 4 then
   case @basamak % 3
   
when 0 then N'dört yüz' when 2 then N'kırk' when 1 then N'dört' end
  when 5 then
   case @basamak % 3
   
when 0 then N'beş yüz' when 2 then N'elli' when 1 then N'beş' end
  when 6 then
   case @basamak % 3
   
when 0 then N'altı yüz' when 2 then N'altmış' when 1 then N'altı' end
  when 7 then
   case @basamak % 3
   
when 0 then N'yedi yüz' when 2 then N'yetmiş' when 1 then N'yedi' end
  when 8 then
   case @basamak % 3
   
when 0 then N'sekiz yüz' when 2 then N'seksen' when 1 then N'sekiz' end
  when 9 then
   case @basamak % 3
   
when 0 then N'dokuz yüz' when 2 then N'doksan' when 1 then N'dokuz' end
  end + space(1) +
  case @basamak
   when 4 then
   
case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'bin' end
   when 7 then
   
case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'milyon' end
   when 10 then
   
case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'milyar' end
   when 13 then
   
case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'trilyon' end
   when 16 then
   
case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'katrilyon' end
   else N''
  end + space(1)
end
-- Çevrim sırasında oluşabilecek fazla
SPACE karakterleri temizleniyor
set @yaziilesayi = ltrim(rtrim(@yaziilesayi))
WHILE REPLACE(@yaziilesayi, space(2), space(1)) <> @yaziilesayi
BEGIN
 SELECT @yaziilesayi = REPLACE(@yaziilesayi, space(2), space(1))
END
-- Metin büyük harflerle isteniyorsa
UPPER fonksiyonu kullanılıyor
if @buyukharf = 1
 set @yaziilesayi = UPPER(@yaziilesayi collate turkish_ci_as)
-- sayının yazı ile ifadesini içeren değişken
döndürülüyor
return @yaziilesayi
end
Kaydol:
Yorumlar (Atom)
Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek
SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...
- 
Bugün sizlere SQL Server 2012 ile gelen bir fonksiyon olan Concat fonksiyonundan bahsetmek istiyorum. Concat fonksiyonu 2 veya daha fazla ...
 - 
Bu komut TSQL sorguları tarafından oluşturulan disk ve bellek etkinliği miktarıyla ilgili bilgileri görüntülememizi sağlar. SET STATISTI...