İçeriğe geç

MS Sql de manuel olarak tarih alanı elde etmek için yıl, ay, gün pametreleri alan scalar fonksiyon oluşturma

4.261 defa okundu

Konu: SQL Fonksiyonları

MS SQL de tarih verisini bazı durumlarda manuel oluşturması gerekebilir. Böyle durumlarda gün, ay ve yıl bilgilerini parametre olarak gönderip tarih verisi elde edebilmek için kullanıcı tanımlı bir fonksiyon yazılabilir. Zira bu üç parametrenin bir kısmı bir formül veya bir alandan elde edilebilir, bir kısmı manuel verilebilir. Ayrıca ay ve gün 1 veya 2 karakter olarak gönderilebilir.

Aşağıda kullanıcı tanımlı scalar fonksiyon oluşturulması ve kullanılması verilmiştir.

SQL
  1. CREATE FUNCTION [dbo].[FN_TARIHLE] (@Yil int,@Ay int,@Gun int)
  2. RETURNS varchar(8) AS
  3. BEGIN
  4. Declare @Sonuc varchar(8)
  5. IF LEN(CONVERT(NVARCHAR,@Yil))=4
  6. BEGIN
  7. SET @Sonuc=CONVERT(NVARCHAR,@Yil)
  8. END
  9. IF LEN(CONVERT(NVARCHAR,@Ay))=1
  10. BEGIN
  11. SET @Sonuc=@Sonuc+'0'+CONVERT(NVARCHAR,@Ay)
  12. END
  13. IF LEN(CONVERT(NVARCHAR,@Ay))=2
  14. BEGIN
  15. SET @Sonuc=@Sonuc+CONVERT(NVARCHAR,@Ay)
  16. END
  17. IF LEN(CONVERT(NVARCHAR,@Gun))=1
  18. BEGIN
  19. SET @Sonuc=@Sonuc+'0'+CONVERT(NVARCHAR,@Gun)
  20. END
  21. IF LEN(CONVERT(NVARCHAR,@Gun))=2
  22. BEGIN
  23. SET @Sonuc=@Sonuc+CONVERT(NVARCHAR,@Gun)
  24. END
  25. Return @Sonuc
  26. END

Fonksiyonunun kullanılışı

SQL
  1. SELECT dbo.FN_TARIHLE(2014,2,7)

veya

SQL
  1. SELECT dbo.FN_TARIHLE(2014,02,07)

veya

SQL
  1. SELECT dbo.FN_TARIHLE(YEAR(GETDATE()),MONTH(GETDATE()),01)

Bu yazı işinize yaradı mı?

SQL Fonksiyonları konusundaki diğer yazılar

SQL Fonksiyonları: 13 yazının tümü →

WhatsApp'ta paylaş

İlgili Yazılar