![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 513 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam trafiłem na zagwostkę i nie wiem jak to ruszyć, w sumie mam funkcję która działa ale niestety nie w miesiącu grudniu.........
mam w tabeli dwie kolumny z datami (data_od, data_do), z różnych powodów zapisuję ją w formacie mm-dd bez roku, następnie wyświetlam poszczególne rekordy gdy dzisiejsza data zawiera się pomiędzy data_od oraz data_do. Wstawiłem do zapytania dodatkowo warunek sprawdzający czy data_do nie jest czasem większa od data_od bo to oznacza przełom roku. Wszystko ładnie działa, ale niestety wali się jeśli skrypt jest uruchomiony w miesiący grudniu a data_do jest również grudniowa...... pomocy.....
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
BETWEEN uwzględnia również wartości graniczne (przedzial obustronnie domknięty). W tym drugim przypadku musisz zastosoać przedziały otwarte.
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 513 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
ale nie w tym mam problem, problem polega na ty, że funkcja porównuje wpisane daty i jeśli data_od = 01-11 (pierwszy listopada), data_do = 31-12, a dzisiejsza data to 22-12 to rekord jest pomijany, myślę że zrobiłem błędne założenia podczas projektu, ale nie wiem jak to mam teraz zmienić. Proste by było gdybym miał pełne daty dd-mm-rrrr, ale niestety nie mogę tu brać pod uwagę roku......
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
To jak w końcu zapisujesz datę? dd-mm, czy mm-dd? W kodzie uwzględniasz mm-dd...
|
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 513 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
mm-dd, ale jakie to ma teraz znaczenie? Sprawdzałem w taki i taki sposób....
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Znaczenie ma takie, że zapisując (w bazie) datę w postaci dd-mm, to możesz wszystko wywalić i zacząć od nowa.
Bo 13-01 (1301)-13 styczeń, jest większa od 08-08 (0808) - 8 sierpnia. W rzeczywistości tak nie jest. Przy analogicznym zapisie mm-dd jest 0113 i 0808, więc jest wszystko w porządku. I twoje zapytania powinny działać prawidłowo. (tak mi się wydaje) Ale musisz mieć tak zapisane w bazie i tak samo porównywać. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 09:34 |