odcitanie datumov v MySQL

7 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Chcem vypisovat vek uzivatela z databazy, pricom uzivatel ma zadany datum narodenia. Cize potrebujem odcitat od aktualneho datumu, datum narodenia. Existuje nejaka funkcia na odcitanie datumov s presnostou na den? DIK
  2. No, chvilku jsem experimentoval a na zdejší verzi MySQL to vypadá na dvě řešení. Buď postupně odečíst roky a dny (year() a date_format(datum, '%j')) nebo si datum předat do php a vyřešit to tam. Druhý způsob bude asi méně bolestný.
  3. Pokud používáš MySQL 4.1.1 a vyšší, můžeš použít funkci DATEDIFF(), která přímo vrací počet dnů mezi dvěma datumy. Na WZ je však verze 4.0.24, takže je třeba to obejít a využít třeba funkci TO_DAYS(): SELECT TO_DAYS(curdate()) - TO_DAYS(tvuj_datum_v_db) AS dny FROM tvoje_tabulka Všechno viz: http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
  4. Jo, to_days() jsem nenasel, to je dobre...
  5. No, moc bych se neradoval. Ten můj SQL příkaz sice řeší výpočet počtu dnů mezi dvěma datumy, ale byl bych opatrný z těch dnů počítat věk, jak tazatel zamýšlí. Důvodem jsou přestupné roky. Ovšem otázka byla zcela zodpovězena.
  6. zbi, když máš dny, tak to podělíš 365.2525 a pokud někdo není starší jak 1000 let, tak se trefíš hodně přesně... :-)
  7. Ano, zvýšíš přesnost, ale bude se to chovat nevyzpytatelně zrovna v období narozenin (plus mínus den), na což je každý citlivý. ;-) Já vím, je to detail, ale chtěl jsem na to upozornit.

← Zpět na všechna témata