Chcę pobrać rekordy z MySQL na bieżący rok i miesiąc.
Przechodzę, by zdobyć dzisiejsze rekordy
Dzisiaj: ("recDate", "=", new Date ());
W ten sposób, jak pobrać na bieżący miesiąc i bieżący rok?
Z góry dziękuję
- Gnaniyar Zubair
Odpowiedzi:
1 dla odpowiedzi № 1import java.util.Calendar;
public class CalendarExample
{
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
int year = cal.get(Calendar.YEAR);
int dow = cal.get(Calendar.DAY_OF_WEEK);
int dom = cal.get(Calendar.DAY_OF_MONTH);
int doy = cal.get(Calendar.DAY_OF_YEAR);
System.out.println("Current Date: " + cal.getTime());
System.out.println("Day: " + day);
System.out.println("Month: " + month);
System.out.println("Year: " + year);
System.out.println("Day of Week: " + dow);
System.out.println("Day of Month: " + dom);
System.out.println("Day of Year: " + doy);
}
}
Oto wynik tego przykładu:
Aktualna data: czw. 29 grudnia 13:41:09 ICT 2005 Dzień: 29 Miesiąc: 12 Rok: 2005 Dzień tygodnia: 5 Dzień miesiąca: 29 Dzień roku: 363
5 dla odpowiedzi nr 2
Nie ma potrzeby przekazywania parametrów, MySQL może sam wypróbować, co oznacza bieżący rok i miesiąc:
SELECT * FROM table
WHERE YEAR(recDate) = YEAR(CURDATE())
AND MONTH(recDate) = MONTH(CURDATE())
lub alternatywnie
SELECT * FROM table
WHERE DATE_FORMAT(recDate, "%Y%m") = DATE_FORMAT(NOW(), "%Y%m")
0 dla odpowiedzi № 3
Nie znam dokładnych funkcji w mysql, ale tygoogle. W twoim kodzie SQL w kodzie java użyj funkcji CONVERT w kolumnie daty i zrównaj ją z bieżącą datą, której alo używa funkcji konwersji. Funkcja Konwertuj będzie usuwać daty tylko do miesiąca i roku i w ten sposób będzie porównywana tylko jako ciąg.