Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ÇÖZÜLDÜ - Veritabanındaki saat alanını düzenleme
#1
Selamlar arkadaşlar

Tablomda var olan zaman alanındaki kayıtlı veri şu şekilde kayıtlı. 2019-07-24 15:38:26
Ancak, sorgulamada karşılaştığım problemden dolayı, saniye kısımlarını 00 olarak düzeltmem gerekiyor. Bu konuda SQL araştırdım ama net bir sonuca ulaşamadım. Konu ile ilgili olarak en süratli şekilde çözebileceğim bir kod varsa, yardımlarınızı rica ederim.

İyi çalışmalar..
Cevapla
#2
function SQLTarihSaat(tarih:TDateTime):string;
begin
result := FormatDateTime('yyyy-mm-dd h:m:'+'00',tarih);
end;
Cevapla
#3
(24-07-2019, Saat: 16:22)faktoral Adlı Kullanıcıdan Alıntı: function SQLTarihSaat(tarih:TDateTime):string;
begin
  result := FormatDateTime('yyyy-mm-dd h:m:'+'00',tarih);
end;

Selamlar

Şu anda tablomda kayıtlı olan 25 milyon kayıt var. Bu fonksiyonla var olan değerleri düzeltebilecek miyim yoksa, yeni kayıtlar için mi geçerli? Benim kayıtlıları düzeltmem gerekiyor çünkü. Eğer öyle ise, fonksiyonun kullanım örneği de gerekli bana.
Cevapla
#4
(24-07-2019, Saat: 15:42)wiseman Adlı Kullanıcıdan Alıntı: Selamlar arkadaşlar

Tablomda var olan zaman alanındaki kayıtlı veri şu şekilde kayıtlı. 2019-07-24 15:38:26
Ancak, sorgulamada karşılaştığım problemden dolayı, saniye kısımlarını 00 olarak düzeltmem gerekiyor. Bu konuda SQL araştırdım ama net bir sonuca ulaşamadım. Konu ile ilgili olarak en süratli şekilde çözebileceğim bir kod varsa, yardımlarınızı rica ederim.

İyi çalışmalar..

SELECT CONVERT(VARCHAR(10),TARIH,120)+' '+SUBSTRING(CONVERT(VARCHAR(10),TARIH,108),1,6)+'00' FROM TABLOADI
Cevapla
#5
Bu fonksiyonu kayıt eklerken kullanırsan zaten sonra problemin kalmaz.
Cevapla
#6
Eğer geçenki sorgu ile alakalı ise "tarih<=" yapmadan önce ilgili tarihsaate 59 sn. ekleyerek sorunu çözebilirsin bence.
WWW
Cevapla
#7
@wiseman aşağıdaki şekilde kullanabilirsin
Declare @X datetime = GetDate()
Select @X, Cast(Format(@X, 'yyyy.mm.dd HH:mm:00') As DateTime)

Select CAST(DATEADD(S, -30, @X) AS SMALLDATETIME)
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#8
(24-07-2019, Saat: 17:20)esistem Adlı Kullanıcıdan Alıntı: Eğer geçenki sorgu ile alakalı ise "tarih<=" yapmadan önce ilgili tarihsaate 59 sn. ekleyerek sorunu çözebilirsin bence.

Kesinlikle hocam. Aynı programda, aynı yerde kaldık. Saniyeyi 59 yapmıştım daha öncesinde. Ancak bugün farkettim ki, data kaybı yaşanıyor. Bu Sebeple, saniyeleri sıfırlama yöntemine dönmek durumunda kaldım. Bi daha MYSQL kullanırsam iki olsun Smile
Cevapla
#9
hocam alan tipini datetime kısmından date e çek otomatik hepsi 00:00 olur hocam
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#10
(24-07-2019, Saat: 21:21)mcuyan Adlı Kullanıcıdan Alıntı: hocam alan tipini datetime kısmından date e çek otomatik hepsi 00:00 olur hocam

Ama bu sefer tüm saatler de sıfırlanacak. Değerlerin; 2019-07-24 12:18:36 durumundan 2019-07-24 12:18:00 olması gerekiyor. Şimdilik bir exe yazarak döngüyle hallediyorum sorunumu. Biraz uzun sürecek bir çözüm, ama en azından sabaha kadar sanırım tamamlanacak gibi duruyor.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ÇÖZÜLDÜ]canlı trend wiseman 29 575 26-05-2020, Saat: 18:35
Son Yorum: wiseman
  Balirli saat aralığında kodu çalıştırmak onurakman 13 704 21-05-2020, Saat: 18:01
Son Yorum: mrmarman
  [ÇÖZÜLDÜ]animate işlemi wiseman 2 196 11-05-2020, Saat: 09:23
Son Yorum: wiseman
  [ÇÖZÜLDÜ]Chart Hatası hk. wiseman 5 351 05-05-2020, Saat: 17:50
Son Yorum: wiseman
  [çözüldü] TeeChart 10.2 yeniden kurulum wiseman 4 333 29-04-2020, Saat: 01:02
Son Yorum: hi_selamlar



Konuyu Okuyanlar: 1 Ziyaretçi