![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę napisać skrypt który będzie ustawiał mi nieaktywne rekordy jeżeli data jest starsza, niż ta, którą mamy dzisiaj. Próbowałem w ten sposób:
Układ daty w bazie mam ułożony w sposób: dd-mm-rrrr. Próbowałem też zapytaniem:
Jednak to też nic nie dało. Da się jakoś w MySQL ustawić format wybieranej daty? Tzn. żebym mógł w zapytaniu określić, że ma wybierać rekordy starsze niż obecna data (na dzień dzisiejszy 31-07-2012) i aby CURDATE zwracało datę w tym samym układzie tj. dd-mm-rrrr? Bardzo chętnie posłucham też o możliwości innego rozwiązania, jednak modyfikacja dat w bazie nie wchodzi w rachubę. Pozdrawiam, Ravik |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
najlepiej dodaj dodatkową kolumnę z odpowiednio przechowywaną datą bo rozumiem, że teraz przechowujesz ją w kolumnie typu VARCHAR i z tym cały czas będziesz miał problemy i będziesz zmuszony implementować dziwaczne rozwiązania. Tutaj problem leżey w tym, że Twoja data nie jest traktowana jako data tylko jako string, więc nawet jak by CURDATE() zwracał inny format to i tak Ci nie pomoże. Jeżeli nie możesz przerobić tego co masz to dorzuć kolejną kolumnę typu timestamp, datetime lub date, wtedy wszystko będzie śmigać.
Jeżeli proponowany przez @toffiak DATE_FORMAT() nie zadziała, to możesz jeszcze spróbować STR_TO_DATE() http://dev.mysql.com/doc/refman/5.5/en/dat...ion_str-to-date coś takiego:
Ten post edytował tehaha 31.07.2012, 13:26:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:26 |