Forum
Merhaba arkadaşlar;
Nette araştırdım ama bulamadım.Stok kart tablosunda dtekayittarihi adında bir sütun var.Bu sütunda,son gün (bugün) kaydolmuş stokları bulmak için,nasıl bir sorgu yazmam gerekiyor ?
Yardımlarınızı bekliyorum...
Merhaba aşagıdaki komutu daha önce kullandım çalışıyor.Kolay Gelsin select
Ahmet bey;
Çok teşekkür ederim.Süper oldu.
Selamlar,
Aşağıdaki sorgularda işinizi görebilir;
select * from Tablo_Adi
where
convert(varchar(10),dtekayittarihi,104) = (select convert(varchar(10),getdate(),104))veya
select
* from Tablo_Adiwhere
convert(varchar(10),dtekayittarihi,104) = '23.09.2010'"Bu Sorgu ile istediğiniz her hangi bir tarihe ait rapor alabilirsiniz."
" * yerine Tablodan çekmek istediğiniz, alan adlarını yazabilirsiniz. "
" Aldığınız sorguda Tarih alanının saat değerlerini görmek istemiyorsanız, alan seçerken Convert etmelisiniz. convert(varchar(10),dtekayittarihi,104) gibi "
Selamlar,
Sizin sorunuz üzerine biraz pratik yapıyorum, Sizin vesilenizle paylaşmak istedim.
Son Kayıt tarihine ait giris yapılan stokları bulmak için; (En son hangş gün kayıt girilmişse o güne ait kayıtları getirir.)
select
* from Tabo_Adiwhere
convert(varchar(10),dtekayittarihi,104) = (select
top 1 convert(varchar(10),dtekayittarihi,104)from Tablo_Adi
order
by dtekayittarihi desc)
Rica Ederim.
Kolay Gelsin.
Murat Bey;
İlginize teşekkür ederim.Sorgularınız sorunsuz çalıştı.
Son 3 gün yada,son bir hafta dese idim sorgu nasıl olurdu ?
select * from TABLO where ALANADI between tarih1='Başlangıç tarihi 'and Tarih2='Bitiş tarih'
select * from tbl_haraket where CikisTarihi between '2010-08-20' and '2010-08-05'
Kolay Gelsin.
Ahmet Bey;
İki tarih arası bir sorgu çekmek istediğimde sizin sorgunuzu kullanabilirim.
Peki bugün günlerden cuma.Ben son üç günü içeren bir sorguyu nasıl yaparım ? Çarşamba,perşembe ve cuma günleri olsun.
Yarın ise sorguda perşembe,cuma,cumartesi günleri çıksın.
Selamlar,
Rica ederim. Sizin vesilenizle bende pratik yapıyorum.
Eskilerin deyimiyle; " Yaptığın başkasına ise öğrendiğin kendine "
Son 7 gün için sorgu;
select
* from TabloAdiwhere
convert(varchar(10),dtekayittarihi,104) between (select convert(varchar(10),(getdate()-7),104)) and (select convert(varchar(10),getdate(),104))
( * -7 ' yi istediğiniz gibi değiştirip, kaç gün geriye gideceğinizi belirleyebilirsiniz. )
Murat Bey;
İlgilendiğiniz için teşekür ederim.
Yalnız sorgu çalıştı ama son yedi gün değil daha fazlasını verdi.
Selamlar,
select convert(varchar(10),(getdate()-7),104) sorgusu hangi tarihi döndürüyor ?
bende
select
convert(varchar(10),(getdate()-7),104) as tarih tarih
17.09.2010
olarak sonuc veriyor.
Dolayısıyla 17.09.2010 (dahil) 24.09.2010 (dahil ) tarihleri arası kayıtları döndürmeli,
Murat Bey;
select
* from tbstokwhere
convert(varchar(10),dtekayittarihi,104) between (select convert(varchar(10),(getdate()-7),104)) and (select convert(varchar(10),(getdate()-7),104))Sonuç olarak 17.09.2010 döndürüyor.17.09.2010 ile 24.09.2010 arası dönmedi 🙁
Murat Bey;
select
* from tbstok
where
convert(varchar(10),dtekayittarihi,104) between (select convert(varchar(10),(getdate()-7),104)) and (select convert(varchar(10),(getdate()-7),104))
Sonuç olarak 17.09.2010 döndürüyor.17.09.2010 ile 24.09.2010 arası dönmedi 🙁
Selamalar,
Başlangıç ve bitiş tarih sorgusu aynı kalmış,
and den sonraki sorguda -7 yi kaldırısanız sorun olmayacaktır.
aşağıdaki sorguyu denermisini ?
select * from tbstok
where
convert(varchar(10),dtekayittarihi,104) between (select convert(varchar(10),(getdate()-7),104)) and (select convert(varchar(10),getdate(),104))
Murat Bey;
Sorguyu denedim.7.aydan itibaren açılmış bütün stokları gösteriyor.
Selamlar,
Ben çalıştırdığımda sorun olmuyor;
kodları kontrol edebilir misiniz?
Sorgu sonuçları aşağıdaki gibidir.
(
select convert(varchar(10),(getdate()-7),104))union all
(
select convert(varchar(10),getdate(),104))union all
(
select convert(varchar(10),getdate()-104,104))Srgu sonucu
(No column name)
17.09.2010
24.09.2010
12.06.2010
Murat Bey;
Sorguların sonucu sizin sonuçlarınız ile aynı.Ayrıca şunu farkettim.
select * from tbstok
where
convert(varchar(10),dtekayittarihi,104) between (select convert(varchar(10),(getdate()-7),104)) and (select convert(varchar(10),getdate(),104))bu sorgu çalıştığında son 7 ay çıkıyor.Biz 7 gün arıyoruz o yüzden sonuç tutmuyordu.
Selamlar,
Aynı sonucu almamız gerekiyor, neden olmadığını anlayamadım,
İş yerinizde sorun olmazsa Team Viewer ile bağlanabilirim. (Muhtemelen güvenlik vb sebep ile izin alamayabilirsiniz.)
Birde aşağıdaki sorguyu deneyebilir misiniz ?
select
* from tbstokwhere (select Datediff(dd,dtekayittarihi,getdate())) <=7
Murat Bey;
Sorgu sonucu istediğimiz gibi çıktı.Elinize sağlık...