MySQL: Sorguda datetime alanına bir gün nasıl eklenir

5 Cevap php

Benim masada ben eventdate 2010-05-11 00:00:00 gibi datetime biçiminde adında bir alan var.

O one day eventdate, örneğin bugün 2010-05-11, i göstermek istiyorsanız eğer where ekler, böylece nasıl bir sorgu yapabilirim Yarının tarihi ile tüm kayıtları döndürmek için yan tümcesi.

Update:

Ben bu çalıştı:

select * from fab_scheduler where custid = 1334666058 and DATE_ADD(eventdate, INTERVAL 1 DAY)

I 1'den büyük bir aralık eklemek bile, ama ne yazık ki aynı kaydı döndürür.

Result:

2010-05-12 00:00:00

Ama sadece yarının tarih kayıtları seçmek istiyorum.

5 Cevap

DATE_ADD SELECT (EventDate, ARALIK 1 GÜN)

MySQL doc

Bu bunu nasıl olduğu gibi, bu bir gitmek var :)

SELECT * 
FROM fab_scheduler
WHERE custid = '123456'
AND eventdate = DATE(DATE_ADD(eventdate, INTERVAL 1 DAY))

Bu MySQL özgü sözdizimi şeker kullanmak mümkün `s:

SELECT ... date_field + INTERVAL 1 DAY

Çok daha güzel yerine date_add işlevini Tipler

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");

Ya da, daha basit:

date("Y-m-d H:i:s", time()+((60*60)*24));