Seite 1 von 1

MYSQL/Teil des Datums selektieren [gelöst]

Verfasst: 19.02.2008 16:59
von jesaa
Tach allerseits
folgendes Problem: ich bin dabei bzw. habe mir nen kleinen Kalender gebastelt, der mir anzeigt, was Heute anliegt. Es werden aber auch solche sachen angezeigt, die sich Wöchentlich, Monatlich, oder Jährlich wiederholen.
Bis jetzt hab ich das so gelöst, das ich bei den Sachen die Monatlich kommen, nur den Tag angegeben hab, und den rest des Datums hab wegfallen lassen. Dann hab ich einfach überprüft, ob der entsprechende Tag war, und den Eintrag aus der MYSQL Datenbank selektiert.
Ich habe allerdings immer mit Strings gearbeitet, und wollte jetzt auf Datum umstellen.
Gibt es einen php/mysql befehl, mit dem ich nur einen bestimen Teil des Datums auswerten kann? Also das alle beiträge selektiert werden,die auf Tag so und so geschrieben wurden?

Jesaa

Verfasst: 19.02.2008 17:07
von Balint
Hallo!

Datum als DATE in der DB ablegen und dann mit substr (http://dev.mysql.com/doc/refman/5.0/en/ ... ion_substr) auslesen?

Oder Datumsfunktionen von MySQL nutzen? http://dev.mysql.com/doc/refman/5.1/de/ ... tions.html

SELECT YEAR('2000-01-01') --> 2000


Viele Grüße,
Bálint

Verfasst: 19.02.2008 17:30
von jesaa
Danke, aber das ist nicht das was ich suche. Wenn ich das richtig verstanden hab, wird das alles im zusammenhang mit Select benutzt.
Ich brauch aber eine Bedingung für die Wehre Klausel.
Im prinzip selektiere ich den Eintrag, wo in der Spalte "Datum" der Tag so und so steht, der noch ein String ist.
Und diesen String möchte ich jetzt durch einen Datumstypen ersetzen, von dem ich aber zum beispiel nur den Tag berücksichtigen muss.

Gruß Jesaa

Verfasst: 19.02.2008 17:33
von Balint
OK, den letzten Satz habe ich nicht verstanden. Wieso benutzt du kein WHERE datumString LIKE '%2006%' ?

Verfasst: 19.02.2008 17:50
von jesaa
Zu dem letzten Satz: Ich hab jetzt den typ varchar und will Date draus macehn.
Mit dem like hat das folgendes Problem: Ich habe das Datum 2006-11-10 und 2006-9-11. Wenn ich jetzt einträge aus dem November haben will, und like '11' nehme, dann würde es doch beide ausgeben ... oder seh ich das falsch?

Gruß Jesaa

Verfasst: 19.02.2008 17:52
von Balint
Hallo!

Prüfe doch in dem Fall auf LIKE "%-11-%" für den November... :wink:

Viele Grüße,
Bálint

Verfasst: 19.02.2008 17:55
von jesaa
Stimmt ... Klasse Idee Danke dir :grin:

Danke
Jesaa

Verfasst: 19.02.2008 18:21
von jesaa
eine frage hätt ich dann doch noch: funktioniert das auch mit vergleichsoperatoren?

Also nach dem Prinziep where datum=>'%-20%' and datum=<'%-27%' (wenn ich den Tag nehme?)

Gruß Jesaa

Verfasst: 20.02.2008 10:08
von Balint
Hallo!

Da dies Strings sind, sollte das nicht so einfach wie bei Integer-Werten funktionieren. Bitte beschäftige dich nochmal mit der MySQL-Doku und entprechenden FAQs für String-Vergleiche...


Viele Grüße,
Bálint