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.
(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
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.
(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.
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 ;
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.
(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.