MySQL Timestamp kullanımı

Timestamp ‘ mysqldeki tarih formatlarından sadece birisi. Sizleri şimdi timestamp ile tanıştırmak istiyorum . Öncelikle şunu belirtmek istiyorum. Timestamp sütünu aynen datetime sütunundaki gibi 19 karekter halinde ‘YYYY-MM-DD HH:MM:SS’ formatında görüntülenir fakat saklanan değeri aslında görüntülenen değeri ile aynı değil unix zaman damgası şeklinde 10 karakterli bir rakam tutar.

Not : Aşağıda anlatacağım uygulamaları test edebilmek veya kullanabilmek için mysql sürümünüz 5+ olması gerekmektedir.

1. Timestamp alanı otomatik anlık tarihli kayıt girebilme veya otomatik kayıt güncellendiğinde kendinide güncelleyebilme özelliğine sahiptir.

Otomatik başlatma ve otomatik güncelleme

... TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Sadece Otomatik başlatma

... TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Sadece Otomatik güncelleme

... TTIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

Hiçbiri

... TIMESTAMP DEFAULT 0

2. Şuandaki zaman ile select ile çekeceğiniz verideki zaman arasındaki farkını UTC formatında çıktı almak.

SELECT (CURRENT_TIMESTAMP - zaman ) AS zaman_fark FROM tablo

3. Timestampdiff fonksiyonu ile iki zaman arasındaki farkı bulmak.
iki zaman arasındaki saniye farkı

SELECT TIMESTAMPDIFF(SECOND,'2011-02-01','2011-05-01') AS saniye;

iki zaman arasındaki dakika farkı

SELECT TIMESTAMPDIFF(MINUTE,'2011-02-01','2011-05-01') AS dakika;

iki zaman arasındaki saat farkı

SELECT TIMESTAMPDIFF(HOUR,'2011-02-01','2011-05-01') AS saat;

iki zaman arasındaki gün farkı

SELECT TIMESTAMPDIFF(DAY,'2011-02-01','2011-05-01') AS gun;

iki zaman arasındaki hafta farkı

SELECT TIMESTAMPDIFF(WEEK,'2011-02-01','2011-05-01') AS hafta;

iki zaman arasındaki ay farkı

SELECT TIMESTAMPDIFF(MONTH,'2011-02-01','2011-05-01') AS ay;

iki zaman arasındaki yıl farkı

SELECT TIMESTAMPDIFF(YEAR,'2011-02-01','2011-05-01') AS yil;

iki zaman arasındaki mevsim farkı

SELECT TIMESTAMPDIFF(QUARTER,'2011-02-01','2011-05-01') AS mevsim;

4. Timestampadd fonksiyonu tarihin üzerine gün,ay,yil ekleyebilir ve eklendiği zamandaki tarih alınabilir
Şuandan 1.000.000 saniye sonraki zaman ne acaba ?

SELECT TIMESTAMPADD(SECOND , 1000000 , CURRENT_TIMESTAMP ) as birmilyonsaniyesonra;

Belirli bir tarihten 1 yıl sonraki tarihi bulmak .

SELECT TIMESTAMPADD( YEAR, 1, '2011-04-19' ) AS 1yilsonra;

5.Mysql alan türü timestamp olan sorgularda BETWEEN kullanımı ?
Not : tarih_1,tarih_2 unix formatına çevirilmiş 10 karakterli rakamlar olmalıdır. Aşağıdaki örnekte kullanılan UNIX_TIMESTAMP fonksiyonu bizim ‘YYYY-MM-DD HH:MM:SS’ görüntülenen tarihimizi UNIX formatına çevirmemize yaramaktadır.

SELECT * FROM TABLO UNIX_TIMESTAMP(zaman) BETWEEN 'tarih_1' AND 'tarih_2'

şimdilik bu kadar yeterli diye düşünüyorum. Umarım faydalanacağınız bir içerik olmuştur . Hepinize bol bol geliştirmeler dileğiyle … :)

502 views

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word