Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ayni ay icindeki kayitlari dbgride almak
#1
arkadaslar hangi ayin icindeysek o ayda kayitli  tum kayitlari nasil listeleriz.
1 inden 30 una kadar donguyle tek tek ugrasmaktan baska bir cozum var mi
saygilar.
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
where extract(month from tarih) = extract(month from current_date) 

veya indexli kullanım için;

where tarih between first_day(of month from current_date) and last_day(of month from current_date) 
Cevapla
#3
(24-11-2024, Saat: 00:24)anemos Adlı Kullanıcıdan Alıntı:
where extract(month from tarih) = extract(month from current_date) 

veya indexli kullanım için;

where tarih between first_day(of month from current_date) and last_day(of month from current_date) 

   //sql_v:=  'Select * from TBL_KASA where  DATE_ between first_day(of month from current_date) and = extract(month from current_date)';

  sql_v:=  'Select * from TBL_KASA where  DATE_ between first_day(of month from current_date) and last_day(of month from current_date)'; 

bu iki kod istedigim gibi ama hata aliyorum DATE_  kolonu VARCHAR OLARAK kullaniyorum hata bundan dolayi olur mu
saygilar


Ek Dosyalar Resimler
   
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#4
Alanın tipini DATE olarak değiştirmenizde fayda var. İleride başka sorunlar da yaşayabilirsiniz.
Cevapla
#5
(24-11-2024, Saat: 12:24)anemos Adlı Kullanıcıdan Alıntı: Alanın tipini DATE olarak değiştirmenizde fayda var. İleride başka sorunlar da yaşayabilirsiniz.

degistirdim sonuc alamadim.
bende soyle bir degisiklige gittim son 100 kaydi getir gibi bir sql kodu yapmaya calistim ama internetdeki hicbir ornek calismadi
ne top 100  ne limit 100 gibi ornekler calismadi .

//if sqlkod=1 then sql_v:=  'select * from TBL_KASA where DATE_='''+trh+''' ';
//if sqlkod=2 then sql_v:=  'SELECT * FROM TBL_KASA ORDER  BY ID DESC  LIMIT 20';          //AND LIMIT 20  DE CALISMADI
//sql_v:=  'Select * from TBL_KASA where ID in ( select top 100 ID from TBL_KASA order by asc)  order by desc';
sql_v:=  'Select  top 10 from TBL_KASA ';  

SAYGILARIMLA
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#6
Veritabanı tipine göre farklı SQL cümleleri ile karşılaşacaksınız. Tecrübe ettikçe daha çok hata ile karşılaşıp daha çok çözüm bulacaksınız.

select first 10 * from TBL_KASA

şeklinde denemek isteyebilirsiniz.

Tarih konusunda da DATE yapmışsanız şöyle bir yaklaşım örnek olsun diye buraya bırakayım. Belki başka kapılar açar. 
Sizin firebird sürümü 2.5 ve eskisi ise yeni fonksiyonları tanımaz, yeni ise de eskileri sıkıntısız çalışır.  

Açıklama yazmaya lüzum görmüyorum, aslında her satır bir diğerinin ne işe yaradığını kendisi anlatıyor.


select '-' as "***"
, current_date AS "Tarih"
, current_time AS "Saat"
, dateadd ( 1+ (-1) * extract(day from current_date) day to current_date ) as "BU AYBASI"
, dateadd ( 1 month to dateadd ( 1+ (-1) * extract(day from current_date) day to current_date ) ) as "SONRAKI AYBASI"
, dateadd ( -1 day to dateadd ( 1 month to dateadd ( 1+ (-1) * extract(day from current_date) day to current_date ) ) ) as "BU AYSONU"
FROM RDB$DATABASE ;
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#7
Top 100
Limit 100 yerine
Rows 100 kullan bi.
Veri alanı varchar ise, tarih verisindeki ay ve yılı çekmek için SUBSTR kullanmalısın, bir de ay ve yıl verisini uygun formata getirmekiçin LPAD kullanacaz
SELECT * 
FROM kayitlar 
WHERE SUBSTR(tarih, 6, 2) = LPAD(MONTH(CURDATE()), 2, '0') - - bu kısım ay filtreliyor
 AND SUBSTR(tarih, 1, 4) = YEAR(CURDATE()); - - burası da yılı filtreliyor

Bunu da dene bakalım.
__________________________
From Now I will only Reading.
Cevapla
#8
tesekkurler
versiyonun 2.1 o yuzden hata aliyorum sanirim.

saygilarimla
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#9
(23-11-2024, Saat: 23:05)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaslar hangi ayin icindeysek o ayda kayitli  tum kayitlari nasil listeleriz.
1 inden 30 una kadar donguyle tek tek ugrasmaktan baska bir cozum var mi
saygilar.

Hangi Database'i kullanıyorsunuz ?
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  TABLO KAYIT İÇİNDEKİ KELİMEYİ BAŞA YAZMA maydin60 5 1.409 13-03-2023, Saat: 00:11
Son Yorum: maydin60
  İki Tablo Arasında Olmayan Kayıtları Listelemek sunbeki 3 1.908 13-05-2021, Saat: 22:08
Son Yorum: sunbeki
  Aynı anda iki Cursor ile çalışma anemos 0 772 24-04-2021, Saat: 01:37
Son Yorum: anemos
  2 farklı pc deki aynı tabloları eşitlemek sadikacar60 3 1.499 29-03-2021, Saat: 20:06
Son Yorum: isocan
  Firebird 2.5 ile 3.0 ı aynı anda çalıştırma MuhammedYasir 8 5.114 12-03-2021, Saat: 10:30
Son Yorum: ozcanm



Konuyu Okuyanlar: 1 Ziyaretçi