Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zwiększenie daty, Jak zwiększyć bierzącą datę o x dni
grizmo
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 21.03.2005

Ostrzeżenie: (0%)
-----


Mam tabelkę TData która wygląda tak:
Id |Data
-----------------------
1 |2006-01-31
2 |2006-02-01
3 |2006-02-04
moja bieżąca data w systemie to 2006-01-28

chcę wypisać rekordy względem bieżącaj daty, więc robię zapytanie
  1. SELECT *
  2. FROM TData
  3. WHERE DATA >=CURDATE()


tu jest wszystko ok

ale np chciałbym uzyzkać rekordy o dacie większej lub równej (data bieżąca plus 4 dni) - w tym przypadku uzyskałbym rekord o id 2 i 3 - robię więc zapytanie:
  1. SELECT *
  2. FROM TData
  3. WHERE DATA >=CURDATE()+4

.... chym zwraca wszytkie rekordy ..... pewnie dlatego że w MySQL CURDATE+4 nie równa się 20060201 ale 20060132.

W zwiążku z tym jak dodać do biężącej daty x dni aby na granicy miesięcy przekręcił się miesiąc. czy da się to zrobić na poziomie SQL?

Ten post edytował grizmo 28.01.2006, 14:14:35
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Zerknij tutaj: Date and Time Functions i zwróć uwagę na ADDDATE
Go to the top of the page
+Quote Post
grizmo
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 21.03.2005

Ostrzeżenie: (0%)
-----


Cytat(mike_mech @ 2006-01-28 13:18:07)
Zerknij tutaj: Date and Time Functions i zwróć uwagę na ADDDATE

Rewelacja dzięki mike_mech

Podaje rozwiązanie do tego przypadku:
  1. SELECT *
  2. FROM TData
  3. WHERE DATA >= ADDDATE( CURDATE(), INTERVAL 4 DAY )
Go to the top of the page
+Quote Post
powerone
post
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 12.06.2006

Ostrzeżenie: (0%)
-----


Czy funkcja ADDDATE lub DATE_ADD działa we wszystkich wersjach MySQLa? Czy też może jest zarezerwowana dla wersji 5.0 lub starszej?
Staram się "uporać" z problemem wstawienia do tabeli rekordu z polem, w ktorym chciałbym umieścić datę powiększoną i liczbę dni zapisaną w zmiennej.
Bierzącą datę zapisuje bez problemu, jeżeli jednak chcę dodać cokolwiek wówczas w tym polu nie zapisuje się nic. Ewentualnie czasam zapisze się ciąg: "Resource #13".
Czy ktoś wie może coś na ten temat?
Czy w ogóle aby zapisać datę powiększoną o x dni powinienem użyć tych funkcji? Może jest jakiś "prostszy" sposób?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://dev.mysql.com/doc/refman/4.1/en/dat...-functions.html
Czyli jest we wczesniejszych smile.gif
Pokaz kod, wlacznie z php, bo widze ze z tym masz problem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:07