İki zaman arası farkı bulan DATEDIFF Fonksiyonu Kullanımı
Bu dersimizde SQL Server Veritabanı içinde yer alan önemli fonksiyonlardan biri olan DATEDIFF() fonksiyonunu inceleyeceğiz. Peki nerelerde kullanabiliriz? Örneğin personel tablomuzda personelimizin doğum tarihi alanı var ve biz yaşı bulmak isteyebiliriz, ya da personelimizin işe giriş tarihinden itibaren işte kaç gün geçtiğini bulmak isteyebiliriz. Bir sınavın başlangıç ve bitiş zamanını verip, bu fonksiyonu belli zaman aralıklarında çalıştırarak sınavın biaşlangıcından itibaren kaç dakika geçtiğini bulabiliriz. Örnekleri çoğaltmak mümkün, şimdi gelelim fonksiyonunun yazım şekline.
Burada iki tarih arası yıl farkını bulmak istediğimiz için year yazdık, gün, hafta, saniye, milisaniye, mikrosaniye ve hatta nanosaniye olarak bile bulabilirsiniz.
Şimdi personeldb isimli bir veritabanı oluşturup, aşağıdaki alanları içeren bir tblpersonel tablosu yapalım.
Şimdi personelimizin yaşlarını bulup büyükten küçüğe sıralayalım. Bulunduğumuz aktif tarihi almak için GETDATE() fonksiyonundan yararlanıyoruz.
Şimdi personeldb isimli bir veritabanı oluşturup, aşağıdaki alanları içeren bir tblpersonel tablosu yapalım.
Şimdi personelimizin yaşlarını bulup büyükten küçüğe sıralayalım. Bulunduğumuz aktif tarihi almak için GETDATE() fonksiyonundan yararlanıyoruz.
SELECT p.ADI, p.SOYADI,
DATEDIFF(year,p.DOGUMTARIHI, GETDATE()) AS YAS
FROM tblpersonel p ORDER BY YAS DESC
Yukarıdaki SQL kodunu SQL Server Entreprise Manager içinde aşağıdaki gibi yeni bir SQL Query alanında yazıp deneyebilirsiniz.
Yukarıdaki SQL kodunu SQL Server Entreprise Manager içinde aşağıdaki gibi yeni bir SQL Query alanında yazıp deneyebilirsiniz.
Şimdi de iki tarih arası gün farkını bulabiliriz. Bunun için aşağıdaki SQL Kodunu yazıyoruz.
SELECT p.ADI, p.SOYADI,
DATEDIFF(day,p.DOGUMTARIHI, GETDATE()) AS GECEN_GUN
FROM tblpersonel p ORDER BY GECEN_GUN DESC
CREATE PROC sp_yas_bul
@tc VARCHAR(50)
AS BEGIN
SELECT p.ADI, p.SOYADI,
DATEDIFF(year,p.DOGUMTARIHI, GETDATE()) AS YAS
FROM tblpersonel p WHERE p.TCKIMLIKNO=@tc
END
DATEDIFF() fonksiyonu gibi SQL Server Veritabanı içinde kullanılan birçok fonksiyonu ilerleyen derslerde inceleyeceğiz. Stored Procedure içinde de bu fonksiyonun kullanımını göreceğiz.
SQL Server Derslerine Aşağıdaki bağlantıdan ulaşabilirsiniz.
Tüm SQL Server Dersleri
KAYNAKLAR
https://docs.microsoft.com/en-us/sql/t-sql/functions/datediff-transact-sql?view=sql-server-2017
Mutlu kodlamalar,
Oğuzhan TAŞ
Nisan, 2019
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?