Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » Tarih Değişkeni, "where" ve "order by" Kullanımı


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 19.02.2002   #1 (permalink)
Kaşif
 
Üyelik Tarihi: 02.06.2001
Yer: İstanbul
Yaş: 28
Mesaj: 279
Tarih Değişkeni, "where" ve "order by" Kullanımı

Şöyle bir problemim var.

Databasenin içinde haber tablosu var.(Başka tablolarda var)
Haber tablosu içinde htarih sütunu var.(Başka sütunlarda var)
Benim istediğim Bu tablonun içinden, yeniden eskiye doğru, 5 günlük bilgileri almak
yani bugün ayın 15 i ise, 15-14-13-12-11. inci günlerin haberlerini sıralayacağım.
Bunun için

dim eski
eski = now - 5[gün ?]
SQL = "Select * from haber where htarih > eski order by htarih desc"

türü birşey yapmam gerekiyor.
Bu dizilimi nasıl sağlayabilirim? 5 günü nasıl tanımlayabilirim.

Not: 5 günü tanımlarken ay ve yıl başlarıda hesaplanabilmeli.
Mesela 02.01.2002 22:19:03 türündeki bir tarih,
28.12.2001 22:19:03 şeklinde "eski" değişkenine atanmalı.

Not: Yukarıdaki gibi bir dizilimi( "where" ve "order by" beraber) başka tablolar için çalıştırabiliyorum.
__________________
www.kasif.org
Kaşif şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #2 (permalink)
absconder
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,907
gunsure = DateDiff("d",Now,#7/8/2002#)
gün olarak bir değer verecektir.eğer duyarlılık saat bazına indirilecekse yardımcı olarak
saatsure = DateDiff("h",Now,#7/8/2002#)

burada eğer geçmiş bir zaman ile çalışılacaksa ortaya çıkan değer - [=negatif] bir değer elde edilecek ve bunun kontrolü yeterli olacaktır.

SQL = "Select * from haber where DateDiff("d",htarih,now) > (-5) order by htarih desc"
olacaktır sanırım. birebir denemediğim için sonucu kesin söyleyemiyorum...

./ - değerin büyüklük kontrolü kafaları karıştırmasın...
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #3 (permalink)
ZuLuuuuuu
 
ZuLuuuuuu's Avatar
 
Üyelik Tarihi: 28.05.2001
Yer: İzmir/Ankara
Yaş: 23
Mesaj: 766
ben şöyle bir şey kullanıyorum:
(ama bu absconder ınki kadar ayrıntılı değil yani basit bir kod kullanmak istersen bunu alabilirsin)

sonkacgun=5
SQL = "Select * from haber where htarih > Date() - "& sonkacgun &" order by htarih desc"
ZuLuuuuuu şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #4 (permalink)
koala
 
Mesaj: n/a
now yerine date kullanırsan sanırım sorunun çözülecek....
hangi database i kullandığın çok önemli order by yaptığın tarih bölümü alanı tarih olarak tanımlanmalı ve veritabanı formatına uyumlu yazmalısın yani SQL server için 31.12.2002 iken MySQL de 2002-12-31 gibi yoksa order by yapamazsın sıralaman hatalı olur.
ve kullandığın dile göre
mesela vbasic için
eski=date- 5 ' beş gün öncesi döner
veya elindeki tarih formatına göre önce tarihi parçalaman gerekebilir
tarih=31.12.2002
gun=left(tarih,2) ' 31 tamsayısı geri döner
 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #5 (permalink)
absconder
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,907
Alıntı:
Gönderen: koala
tarih=31.12.2002
gun=left(tarih,2) ' 31 tamsayısı geri döner
gun=day(tarih) 'gun=31
ay=month(tarih) 'ay=12
yil=year(tarih) 'yil=2002

ayrıca

ay=mid(tarih,3,2) 'ay'ın değerinin 12 olacağıan kimse garanti veremez. misal, tarih=5.12.2002 için geçerli değildir. ama
ay=month(tarih) ' ay değeri her zaman tarih 05.12.2002 olsa da 5.12.2002 olsa da 12 değerini alır. bu gundeğişkeni için de geçerli.

her yöntem kendi içinde çözümdür. yada bildiğin yol en iyi yoldur
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #6 (permalink)
C-Dark Raider
 
Üyelik Tarihi: 12.01.2002
Yer: İstanbul
Mesaj: 15
Bu işi Datepart fonksiyonu ile de yapılabilir;
Kullanım: Datepart(birim, tarih)
Birim için:
"m": ay
"yyyy": yıl
"d": gün
"h": saat
"n": dakika
"s": sayiye
C-Dark Raider şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.02.2002   #7 (permalink)
Kaşif
 
Üyelik Tarihi: 02.06.2001
Yer: İstanbul
Yaş: 28
Mesaj: 279
Arkadaşlar yardımlarınız için çok teşkkürler.
Birkaç değişik yöntem öğrenmek benim için çok iyi oldu.
__________________
www.kasif.org
Kaşif şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Yanıt

Etiketler
kullanimi , byquot , quotorder , quotwherequot , degiskeni , tarih



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC5

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 13:27.