Giriş
Metodlar burada
Zamanı Alma Metodları
CurDate metodu
String veya sayı tipinden tarihi döndürür. Şöyle yaparız
Interval Day
Şöyle yaparız.
%Y : YearMetodlar burada
Zamanı Alma Metodları
CurDate metodu
String veya sayı tipinden tarihi döndürür. Şöyle yaparız
SELECT YEAR(CURDATE());
Şöyle yaparız.
Aritmetik Metodlar
Date_Add
SELECT * FROM `table` WHERE CURDATE() between fromdate and todate
CurTime metodu
String veya sayı tipinden saati döndürür. Şöyle yaparız.
Tarihi almak için şöyle yaparız.
Parametre olarak date alır. Tarihin sadece gün alanını almak için şöyle yaparız. 1-31 arasında değer döner.
Parametre olarak date alır. Tarihin sadece ay alanını almak için şöyle yaparız.
Şöyle yaparız.
String veya sayı tipinden saati döndürür. Şöyle yaparız.
SELECT curtime(),... FROM table_name
Date metoduTarihi almak için şöyle yaparız.
SELECT DATE(NOW()) ...
Belirtilen anının tarih kısmını döner. An from_unixtime ile saniye değerinden geri alınır. Şöyle yaparız.DATE(from_unixtime(ql.time_id)) BETWEEN '2017-10-03' AND '2017-10-04'
Day metoduParametre olarak date alır. Tarihin sadece gün alanını almak için şöyle yaparız. 1-31 arasında değer döner.
SELECT DAY (created) FROM ...
Month metoduParametre olarak date alır. Tarihin sadece ay alanını almak için şöyle yaparız.
SELECT * FROM your_table WHERE MONTH(STR_TO_DATE(date, '%d-%m-%Y')) = 10;
Now metoduŞöyle yaparız.
SELECT NOW() ...
Time metodu
Belirtilen anının saat kısmını döner. An from_unixtime ile saniye değerinden geri alınır. Şöyle yaparız.
Şöyle yaparız. Çıktı olarak 1356843600 alırız.
Belirtilen anının saat kısmını döner. An from_unixtime ile saniye değerinden geri alınır. Şöyle yaparız.
AND (TIME(from_unixtime(ql.time_id)) BETWEEN '16:00' AND '23:59'
OR TIME(from_unixtime(ql.time_id)) BETWEEN '00:00' AND 01:01')
UNIX_TIMESTAMP metoduŞöyle yaparız. Çıktı olarak 1356843600 alırız.
UPDATE students SET start_date_ts = UNIX_TIMESTAMP(STR_TO_DATE('2012-12-30', '%Y-%m-%d'));
Year metodu
Parametre olarak date alır. Tarihin sadece yıl alanını almak için şöyle yaparız
SELECT YEAR(CURDATE());
Date_Add
Şöyle yaparız.
SELECT * FROM tableName
WHERE bill_date BETWEEN DATE_ADD(NOW(), INTERVAL 60 DAY) AND NOW();
Interval Month
Ay eklemek için şöyle yaparız. Eklenen ay sayısı 30,31 olabilir.
Şöyle yaparız.
Ay eklemek için şöyle yaparız. Eklenen ay sayısı 30,31 olabilir.
select name, start_date, DATE_ADD(start_date,INTERVAL 1 month) as endate
from yourtable
Çıktı olarak şunu alırızName | start_date | endate
BEN | 2016-02-13 | 2016-03-13
JONY | 2016-10-12 | 2016-11-12
JHON | 2016-11-04 | 2016-12-04
DateDiff metoduŞöyle yaparız.
where datediff(expiry_date, now ()) <= 30
Date_Sub
Interval Week
Şöyle yaparız.
Aynı tipten iki değer arasındaki farkı expr1 - exp2 olarak verir. Çıktı HH:MM:SS.microseconds şeklindedir. Şöyle yaparız.
Date_FormatŞöyle yaparız.
SELECT * FROM tbl WHERE sent BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW();
TimeDiff metoduAynı tipten iki değer arasındaki farkı expr1 - exp2 olarak verir. Çıktı HH:MM:SS.microseconds şeklindedir. Şöyle yaparız.
select TIMEDIFF(max(timestamp), min(timestamp)) from <TABLE NAME>
TimeStampDiff metodu
Aynı değer arasındaki farkı expr2 - exp1 olarak verir.
Örnek
İki tarih arasındaki farkı saniye olarak almak için şöyle yaparız.
İki tarih arasındaki farkı dakika olarak almak için şöyle yaparız.
Örnek
İki tarih arasındaki farkı saniye olarak almak için şöyle yaparız.
select TIMESTAMPIFF(SECOND,min(timestamp), max(timestamp)) from <TABLE NAME>
Örnekİki tarih arasındaki farkı dakika olarak almak için şöyle yaparız.
select id,system,TIMESTAMPDIFF(MINUTE,start,end) as diff_min from table_name;
String'e Çevirme Metodları%m : month
%d : day
%h : hour
%i : minute
%s : second
Şöyle yaparız.
SELECT DATE_FORMAT(t.column,'%Y:%m:%d %h:%i:%s'),...
FROM YourTable t
Bazı formatlama karakterleri yerine rakam verebiliriz. Saati elle belirlemek için şöyle yaparız.
Cast
Örnek
Şöyle yaparız
UPDATE test_table
SET
from_date = DATE_FORMAT(NOW(),"%Y-%m-%d 00:00:00"),
to_date = DATE_FORMAT(NOW(),"%Y-%m-%d 23:59:59")
String'den Çevirme MetodlarıCast
Örnek
Şöyle yaparız
SELECT * FROM table_name WHERE
CURTIME() BETWEEN
CAST(CONCAT(START_HOUR,":00:00") AS TIME) AND
CAST(CONCAT(END_HOUR,":00:00") AS TIME)
Örnek
Şöyle yaparız. Çıktı olarak şunu alırız 2017-09-02 00:00:00.000 +02:00
Şöyle yaparız.
En yeni tarihi bulmak için max metodu kullanılabilir. Şöyle yaparız.
Şöyle yaparız. Çıktı olarak şunu alırız 2017-09-02 00:00:00.000 +02:00
Cast('2017-09-02 00:00:00' as datetime) AT TIME ZONE 'Central Europe Standard Time'
Str_To_Date
Date döndürür. Şöyle yaparız.
STR_TO_DATE('151216', '%d%m%y')
Şöyle yaparız.
select to_days(curdate()) - to_days(str_to_date(col, '%d%m%y'))
SELECT * FROM your_table WHERE MONTH(STR_TO_DATE(date, '%d-%m-%Y')) = 10;
Diğer NotlarEn yeni tarihi bulmak için max metodu kullanılabilir. Şöyle yaparız.
declare @MaxOrderDate datetime
select @MaxOrderDate = MAX(OrderItem.OrderDate) from OrderItem
Select
...
FROM
OrderItem
WHERE
OrderItem.OrderDate = @MaxOrderDate
Hiç yorum yok:
Yorum Gönder