![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry.
Przeszukałem TO forum ale nie znalazłem odpowiedzi... W bazie danych MySQL mam kolumny "dzien" , "miesac" i "rok" (taką mam konieczność dla innych potrzeb). Muszę wyselekcjonować dane dane nie starsze niż 21 dni od ROCZNICY danego pana. Dlatego staram się w zapytani SELECT z istniejących danych stworzyć datę "oszukaną" z wstawionym bieżącym rokiem, i porównać ją z dzisiejszą ustawiając warunek różnicy 21 dni. Próbowałem przeróżne przekształcenia i za każdym razem jest źle. załóżmy że baza wygląda podobnie: id imie nazwisko funkcja rok miesiac dzien rola uwagi 1 Jan Pierwszy RR 1967 12 03 AA brak 2 Piotr Drugi KD 1986 01 22 FT brak 3 Olaf Trzeci JY 2001 11 15 KF brak Próbowałem na prostych i poprawnych - nie działało. Próbowałem innych przeróżnych i dziwnych kombinacji i nic... Zrobiłem nawet tak dziwaczne pytanie : $wynik = mysql_query ("SELECT * FROM baaazzza WHERE DATEDIFF( ('2017-miesiac-dzien'), '2017-11-08') < 21 ;") or die ("błąd w pytaniu"); i też nic Chyba się zapędziłem w ZŁE myślenie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
czemu piszesz o "odwróconym apostrofie" nigdzie go tu nie używałem (IMG:style_emoticons/default/questionmark.gif)
---- ale dzięki - zastosowanie: ... STR_TO_DATE(CONCAT('2017', ... działa we wszystkich, do tej pory problemowych, próbowanych poleceniach. Jest OK. Dzięki serdeczne za skuteczną pomoc. Tak na marginesie - polecenia " DATEDIFF " w ogóle nie znałem - raz jeszcze dzięki. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
czemu piszesz o "odwróconym apostrofie" nigdzie go tu nie używałem (IMG:style_emoticons/default/questionmark.gif) No właśnie, a powinieneś go używać zamiast ' |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 09:54 |