Şu anda, bu hafta MySQL ve PHP kullanarak bu ay ve gelecek ay doğum günü kutluyoruz arkadaşlar doğum günlerini almak gerekiyor bir sitede çalışıyorum.
Bunu nasıl hakkında gitmek istiyorsunuz?
Eğer TARİH Birthdates saklamak İşletmesi (veya DATETIME) MySQL biçimi aşağıdaki sorguları kullanabilirsiniz:
// This week
SELECT * FROM person WHERE WEEK( birthdate ) = WEEK( NOW() )
// This month
SELECT * FROM person WHERE MONTH( birthdate ) = MONTH( NOW() )
// Next month
SELECT * FROM person WHERE MONTH( birthdate ) = MONTH( NOW() ) + 1;
SELECT * FROM person WHERE IF
( MONTH( NOW() ) < 12, MONTH( birthdate ) = MONTH( NOW() ) + 1,
MONTH( birthdate ) = 1)
SELECT *
FROM users
WHERE birthday + INTERVAL YEAR(CURRENT_DATE) - YEAR(birthday) YEAR BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL 3 DAY
Bu durum sargable değildir ve tam indes tarama gerektirdiğini unutmayın.
In SQL Server
, Oracle
ve PostgreSQL
, bu yaklaşımı kullanarak geliştirilebilir:
Fakat MySQL
rastgele resultset oluşturmak için bir yol yoktur.
Ancak, 1900
içinde 2100
için bir kukla tablo ve mağaza yıllar oluşturabilirsiniz.
Kolayca unutabilir beri 2100
bunu güncellemek için bir cron görevi ekleyin :)