firebird'de timestamp sahanın x dak. öncesini veren komut?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

ne kullanacağın nasıl kullanacağın konusundaki seçimler elbette sana kalmış ve (bunun altında hiçbir gizli anlam yok) sonuçlarına da sen katlanacaksın. bizde veri tabanı tiplerinin ne olduğunu ve naçizane üzerlerinde nasıl karşılaştırmalar ve işlemler yapılacağını kendi adımıza az yada çok biliyoruz ki bunların sonuçlarına da biz katlanıyoruz.

(Yine yorum yapacam ama :) sorguladığın tarihten vt kayıt ettiğin deil karşılaştırma yaptığın tarihten de 5 dk çıkarıp yine sonucuna ulaşabilirsin diye düşünüyorum)
oquz

evet katılıyorum

Mesaj gönderen oquz »

evet katılıyorum da
0 işte 5 dakika çıkarma olayı problem, gerisi matematik.
5'i ha sola atmış ha sağa.
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Tarih ve Saati kaydetme

Mesaj gönderen baloglurecep »

arkadaşlar TIMESTAMP tipindeki alana kullanıcnın seçtiği tarih ve o anki saati nasıl kaydettirebilirim.
tarih:=datetimeedit1.date;
komutuyla kaydediyorum. sadece tarihi kaydediyor birde 12 : 00 gibi saat değeri aktarıyor. ben kullanıcnın girmiş olduğu tarih ve o anki saat değerinin aktarılmasını istiyrum.

24.07.2008 14:25 gibi
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: firebird'de timestamp sahanın x dak. öncesini veren komut?

Mesaj gönderen freeman35 »

Kod: Tümünü seç

CREATE PROCEDURE LIB_TIME_ADD_MINUTE (
                     DATTIM TIMESTAMP,
                     MINUTES INTEGER)
RETURNS ( DATTIM_RESULT TIMESTAMP)
AS
DECLARE VARIABLE DAYS DOUBLE PRECISION;
BEGIN
  IF((DATTIM IS NULL) OR (MINUTES IS NULL))
  THEN DATTIM_RESULT = NULL;
  ELSE BEGIN
/* 1 unit timestamp = 1 day = 1440 minutes = 86400 seconds */
   DAYS = CAST( MINUTES AS DOUBLE PRECISION) / CAST( 1440 AS DOUBLE PRECISION);
   DATTIM_RESULT = DATTIM + DAYS;
/* or: dattim_result = dattim + ((minutes * 60) / 86400e0); */
  END
  SUSPEND;
END
bide bunu dene bakalım, gene hangi database muhabbeti açılacak gibi, adı geçen database lerin hiçbirine kimse kötü diyemez diyen zaten windows u biliyorum diye kendine bilgisayarcı sıfatını yakıştırıp üstüne bide dükkan açanlardan birisidir.
Her database in kişiye ve şartlara göre artı ve eksisi vardır. m$sql ve oracel bakkal dükkaında tek makinada veresiye takip eden bir progamda kullanmak bence gereksizdir. hele bide adama bunun sağlıklı çalışması için iyi bir server alman gerek derseniz adama dükkanı satıp bilgisayarlara ve lisanslara para yatırması gerek. :D yada bir hipermarkete okadar paraya gerek yok paradox zaten bedava yada access bedava bunu kullanırız demek nekadar mantıklı? sözün kısası şartlara göre database kullanmak gerek bence.
Ama bende FireBird tercih ederim herzaman. köşedeki bakkal dükkanı içinde yada bir holding içinde. siz kurguyu tasarımı aceleye getirmez ve her yazılan SQL cümlesini defalarca test edip optimize ederseniz hiçbir sorun olmaz.
Yukarıdaki topic le örneklendirmek gerekirse nerde neden gerektiğini ben anlamadım, eğer sadece bir sorgu için gerekecekse bu yani raporlamada kullanılacaksa ben bunu delphi tarafında yapmayı tercih ederim, database üzerinde sabit rapor SQL leri ileride sıkıntı yaratabiliyor, şöyleki bir field ın daha dışarı çıkması yani return e eklenmesi database değiştirmeyi gerektirir, Field ların tümünün dışarıya çıkartılması ise "Terminatör" abimizi delirtirdi :D kulakları çınlasın, 1yada 2 field kullanılacaksa SQL e 50 field ı yada * yazmak sonderece gereksiz gibi.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla