MySQL datum iz dneva meseca in leta

Problemi z drugimi jeziki kot so c++, cgi, java, itd.
Odgovori
Cugo
Prispevkov: 88
Pridružen: 04.09.2004 11:34:16

MySQL datum iz dneva meseca in leta

Odgovor Napisal/-a Cugo » 06.06.2009 19:12:37

Mi lahko kdo pove kako lahko v mysql-ju sestavim datum iz dneva, meseca in leta.
makedate ga sestavi iz leta in dneva v letu.
Ampak nisem še uspel najti načina za ga sestavit iz 3h ločenih podatkov.
Rad bi naredil select stavek, ki bi vrnil vnose ki so od današnjega dne oddaljeni določeno število dni, neglede na leto.
Zato bi rad za vsak vnos preračunal 3 datume (trenutno leto, prejšnje leto in naslednje leto) in primerjal z njimi.
Lahko da je popolnoma enostavno, toda do sedaj nisem nikjer našel rešitve, samo druge ljudi ki so spraševali isto vprašanje brez da bi dobili odgovor.
V delphiju to ni problem narediti :) v sqlju pa je (vsaj meni) že težje. (ne naredim v delphiju, ker bi rad da je rešitev strežniška in v delphiju samo prikažem podatke - da bi lahko kasneje program predelat tudi v enostaven midlet za telefon)
Če bom uspel ugotoviti bom objavil rešitev, če mi pa kdo od vas odgovori prej se pa zahvaljujem za odgovor.
Hvala
Cugo

Uporabniški avatar
krho
Prispevkov: 709
Pridružen: 11.01.2003 23:02:56

MySQL datum iz dneva meseca in leta

Odgovor Napisal/-a krho » 06.06.2009 20:22:35

Manuala pa noben ne prebere...
Uredite zbirko filmov, tv serij in iger - http://xcollect.sf.net
Zamenjate leglo virusov s preprostim in naprednim odjemalcem elektronske pošte. - http://www.simail.si

Cugo
Prispevkov: 88
Pridružen: 04.09.2004 11:34:16

MySQL datum iz dneva meseca in leta

Odgovor Napisal/-a Cugo » 06.06.2009 23:51:21

Amm manual gledam že cel dan in ne dobim 0 pametnega za uporabit.
Kot sem rekel najbližja stvar ki sem jo videl notri je ta makedate
ki pa sprejema leto in število dni v letu.
Edino drugo je mogoče str_to_date
ki pa bi zahteval da najprej združim polja v string in potem v datum.
Upam da obstaja kakšna bolj učinkovita rešitev.
Če ne pa lahko še vedno začnem ugotavljat kako sestavit string v sql vkazu.
Zadnjič spremenil Cugo, dne 06.06.2009 23:52:06, skupaj popravljeno 1 krat.
Cugo

Cugo
Prispevkov: 88
Pridružen: 04.09.2004 11:34:16

MySQL datum iz dneva meseca in leta

Odgovor Napisal/-a Cugo » 07.06.2009 00:18:04

In evo tukaj je rešitev z pretvarjanjem števil v string in stringa v datum:

Koda: Izberi vse

CREATE FUNCTION `sestavi_datum`(d TINYINT, m TINYINT, y SMALLINT) RETURNS DATE
BEGIN
  return str_to_date(concat_ws(',',d,m,y), '%d,%m,%Y');
END
se lahko kliče kar sestavi_datum(dan,mesec,leto);
Rešitev je bila enostavna za napisat ampak sem še vedno mnenja da sestavljanje stringov ni najhitrejša rešitev na tem svetu.
Cugo

Uporabniški avatar
krho
Prispevkov: 709
Pridružen: 11.01.2003 23:02:56

MySQL datum iz dneva meseca in leta

Odgovor Napisal/-a krho » 07.06.2009 09:19:03

addate ?, razen, če si pri efiniranju baze naredil bedarijo in imaš datum razbit v tri polja.
Uredite zbirko filmov, tv serij in iger - http://xcollect.sf.net
Zamenjate leglo virusov s preprostim in naprednim odjemalcem elektronske pošte. - http://www.simail.si

Odgovori