Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   SQL (http://www.excel.web.tr/forumdisplay.php?f=66)
-   -   SQL SORGU: 45 yaşından küçük olanlar (http://www.excel.web.tr/showthread.php?t=169363)

sarigozoglu 29-12-2017 13:27

SQL SORGU: 45 yaşından küçük olanlar
 
Arkadaşlar merhaba,

Veritabanımda yapacağım sorgu ile verdiğim tarih itibariyle 45 yaşından küçük olanların listesini almak istiyorum.

Bu sorgu konusunda desteğinize ihtiyacım var.

Örnek sorgu cümlesi aşağıdadır.

" SELECT ADI, SOYADI ,DOGUMTARIHI FROM OGRENCILER WHERE DOGUMTARIHI < '01.01.2018 "

Emek ve yardımlarınız için şimdiden teşekkürler.

Necdet 29-12-2017 15:11

Merhaba,

Kontrol ettiğiniz tarihi tek tırnakla sonlandırmamışsınız. Ona dikkat ediniz.

"SELECT ADI, SOYADI ,DOGUMTARIHI FROM OGRENCILER WHERE DOGUMTARIHI < '01.01.2018' "

asri 29-12-2017 20:25

Aşağıdaki şekilde deneyiniz

Küçük işareti yerine > olmalı düzeltildi.

Kod:

SELECT ADI, SOYADI ,DOGUMTARIHI FROM OGRENCILER WHERE dateadd(yy,45,DOGUMTARIHI) > '01.01.2018'

Zeki Gürsoy 29-12-2017 20:39

Sorgu aşağıdaki olmalı.
Kod:

SELECT ADI, SOYADI, DOGUMTARIHI
FROM OGRENCILER
WHERE DATEDIFF(yyyy, DOGUMTARIHI, '2018-01-01') < 45

.

sarigozoglu 30-12-2017 09:09

Sn. Nejdet YEŞERTENER
Sn. Asri
Sn. Zeki GÜRSOY

Destekleriniz için çok teşekkür ederim.

Amma velakin, yapmış olduğumuz sorgu sadece yıl bazlı bir karşılaştırma yapıyor.

Benim için gün ay yıl sorgusu da gerekli
Örneğin 01.01.1973 doğumlu bir kişi,
a) 01.01.2018 ( 01 Ocak ) tarihinde tam 45 yaşında iken,
b) 02.01.2018 ( 02 Ocak ) tarihinde artık 45 yaş 1 gün olarak 45 yaşından büyüktür.

Bana (a) maddesindeki işleyiş gerekli yani tam 45 yaş 0 gün dahil olmak üzere daha küçükler.
diğer bir deyişe (b) maddesi olmayan kayıtlar.

asri 30-12-2017 11:56

Alıntı:

a) 01.01.2018 ( 01 Ocak ) tarihinde tam 45 yaşında iken,
b) 31.12.2017 ( 31 Aralık ) tarihinde artık 45 yaş 1 gün olarak 45 yaşından büyüktür.
Bu hesabınızda bir yanlışlık olabilir mi?

https://www.timeanddate.com/date/dur...&y2=2017&ti=on

Result: 16.436 days

It is 16.436 days from the start date to the end date, end date included
Or 45 years including the end date


https://www.timeanddate.com/date/dur...&y2=2018&ti=on
Result: 16.437 days

It is 16.437 days from the start date to the end date, end date included
Or 45 years, 1 day including the end date

sarigozoglu 31-12-2017 13:27

Alıntı:

asri tarafından gönderildi (Mesaj 923876)
Bu hesabınızda bir yanlışlık olabilir mi?

Sn. Asri çok haklısınız, kusura bakmayın.

Düzeltiyorum
a) 01.01.2018 ( 01 Ocak ) tarihinde tam 45 yaşında iken,
b) 02.01.2018 ( 02 Ocak ) tarihinde artık 45 yaş 1 gün olarak 45 yaşından büyüktür.

Aslında benim sorgum her zaman ayın 1. gününden geriye doğru yapılmakta.
Kullanacağım alana göre esas örneklemem aşağıdaki gibidir.

01.04.2017 tarihi itibariyle,
30.03.1972 dahil, önceki tarihte doğanlar 45 yaşından büyüktür.
01.04.1972 dahil, sonrası tarihte doğanlar 45 yaşından küçüktür.

sarigozoglu 07-01-2018 06:37

Destek olabilecek bir arkadaşımız var mı acaba ?


Saat 08:38

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.