Datumsfeld

Datumsfeld

am 07.05.2006 13:29:05 von Jochen Schneider

Hallo an Alle

ich habe eine Tabelle mit einem Feld Datum vom Typ date (2006-04-29).
Wie muss mein Select aussehen, wenn ich mir alle Datensätze ausgeben lassen
will, die den Monat 04 haben ?

Vielen Dank

Grüße Jochen

Re: Datumsfeld

am 07.05.2006 13:36:39 von Dominik Echterbruch

Jochen Schneider wrote:
> Hallo an Alle
>
> ich habe eine Tabelle mit einem Feld Datum vom Typ date (2006-04-29).
> Wie muss mein Select aussehen, wenn ich mir alle Datensätze ausgeben lassen
> will, die den Monat 04 haben ?

*seufz* Also mal wieder Handbuch vorlesen:

MONTH(date)
Returns the month for date, in the range 0 to 12.
mysql> SELECT MONTH('1998-02-03');
-> 2

Gefunden unter:
http://mysql.speedbone.de/doc/refman/5.0/en/date-and-time-fu nctions.html

Inklusive Tippen der Antwort runde 2 Minuten Arbeit. Das kann doch nicht
so schwer sein, oder?


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: Datumsfeld

am 07.05.2006 13:39:58 von Johannes Vogel

Hi Jochen

Jochen Schneider wrote:
> ich habe eine Tabelle mit einem Feld Datum vom Typ date (2006-04-29).
> Wie muss mein Select aussehen, wenn ich mir alle Datensätze ausgeben lassen
> will, die den Monat 04 haben ?

Bspw.
select .. from tabelle where month(datum) = 4;

alternativ (jux):
select .. from tabelle where datum like '%-04-%';
select .. from tabelle where datum like '____-04-__';
select .. from tabelle where left(right(datum,5),2) = '04';

Wieso befasst du dich nicht mit dem Manual?

HTH, Johannes

Re: Datumsfeld

am 07.05.2006 13:41:30 von Nico Haase

Moin,
*Jochen Schneider* schrub:
> ich habe eine Tabelle mit einem Feld Datum vom Typ date (2006-04-29).
> Wie muss mein Select aussehen, wenn ich mir alle Datensätze ausgeben lassen
> will, die den Monat 04 haben ?

Da darf man ja fast gar nicht helfen...
uggc://qri.zlfdy.pbz/qbp/erszna/4.1/ra/qngr-naq-gvzr-shapgvb af.ugzy
hagre zbagu()
Nico

--
www.buchtips.net - Rezensionen online

Re: Datumsfeld

am 07.05.2006 13:59:44 von Armin Saul

Johannes Vogel schrieb:
> Hi Jochen
>
> Jochen Schneider wrote:
>> ich habe eine Tabelle mit einem Feld Datum vom Typ date (2006-04-29).
>> Wie muss mein Select aussehen, wenn ich mir alle Datensätze ausgeben lassen
>> will, die den Monat 04 haben ?
>
> Bspw.
> select .. from tabelle where month(datum) = 4;
>
> alternativ (jux):
> select .. from tabelle where datum like '%-04-%';
> select .. from tabelle where datum like '____-04-__';
> select .. from tabelle where left(right(datum,5),2) = '04';
>
> Wieso befasst du dich nicht mit dem Manual?
>
> HTH, Johannes

Du hast
select .. from tabelle where substring(datum,5,2) = '04';
vergessen.

SCNR Armin

Re: Datumsfeld

am 07.05.2006 15:40:08 von steinboeck

Dominik Echterbruch schrieb:

> *seufz* Also mal wieder Handbuch vorlesen:

andererseits: wenn es das posting auch nicht mehr gibt wirds hier
ziemlich leer ...

Möglicherweise hat der OP einfach keine Idee gehabt wie er die Suche
angehen soll.


Michael ...

Re: Datumsfeld

am 07.05.2006 16:01:15 von Dominik Echterbruch

Michael Steinboeck wrote:
>
>> *seufz* Also mal wieder Handbuch vorlesen:
>
> Möglicherweise hat der OP einfach keine Idee gehabt wie er die Suche
> angehen soll.

Googlen nach "mysql date" und den ersten Treffer anklicken ist also
heutzutage schon eine Herausforderung? Wer dazu nicht in der Lage ist,
sollte besser die Finger vom Internet lassen. Ich unterstelle dem OP
nicht, daß er das nicht kann. Aber wer dazu zu faul ist, muß sich eben
mit solchen Antorten abfinden.


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: Datumsfeld

am 07.05.2006 18:43:35 von Johannes Vogel

Hi zusammen

Dominik Echterbruch wrote:
> Michael Steinboeck wrote:
>>> *seufz* Also mal wieder Handbuch vorlesen:
>> Möglicherweise hat der OP einfach keine Idee gehabt wie er die Suche
>> angehen soll.
> Googlen nach "mysql date" und den ersten Treffer anklicken ist also
> heutzutage schon eine Herausforderung? Wer dazu nicht in der Lage ist,
> sollte besser die Finger vom Internet lassen. Ich unterstelle dem OP
> nicht, daß er das nicht kann. Aber wer dazu zu faul ist, muß sich eben
> mit solchen Antorten abfinden.

Wobei es mich immer wieder erstaunt, wieviel Aufwand sich die OPs
stattdessen anmuten. Denn ein Posting zu schreiben ist doch viel
aufwändiger als das Handbuch kurz zu durchsuchen...

Johannes

Re: Datumsfeld

am 07.05.2006 22:35:04 von RB

Ich hätte die Lösung mit "select .. from tabelle where datum like
'%-04-%';" gewählt, wenn nicht diese Frage aufgetaucht wäre. Also habe
ich etwas neues gelernt. Also auch eine "dumme" Frage kann zu etwas
guten führen. (Danke Jochen).

--
Roland Böni

Re: Datumsfeld

am 07.05.2006 23:44:33 von Hartmut Holzgraefe

Johannes Vogel wrote:
> Bspw.
> select .. from tabelle where month(datum) = 4;

oder

SELECT ... FROM tabelle WHERE EXTRACT(MONTH FROM datum) = 4;

dann ist es sogar ANSI-Standard konform ...


--
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com

http://www.mysql.com/support/

Re: Datumsfeld

am 08.05.2006 09:51:17 von Sibylle Koczian

Roland Böni schrieb:
> Ich hätte die Lösung mit "select .. from tabelle where datum like
> '%-04-%';" gewählt, wenn nicht diese Frage aufgetaucht wäre. Also h=
abe
> ich etwas neues gelernt. Also auch eine "dumme" Frage kann zu etwas
> guten führen. (Danke Jochen).
>=20

Und ich bin schockiert, dass MySQL (bei mir 5.0.18) sich das bei einem
Feld vom Typ date gefallen lässt. Kann leider erst heute abend testen,
was Firebird zu so was sagt.

In diesem Thread 3,5 Beiträge zum Problem (OP mitgezählt), 5,5 zum Th=
ema
RTFM.

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE

Re: Datumsfeld

am 08.05.2006 14:06:31 von Johannes Vogel

Hi Sibylle

Sibylle Koczian wrote:
> Roland Böni schrieb:
>> Ich hätte die Lösung mit "select .. from tabelle where datum like
>> '%-04-%';" gewählt, wenn nicht diese Frage aufgetaucht wäre. Also habe
>> ich etwas neues gelernt. Also auch eine "dumme" Frage kann zu etwas
>> guten führen. (Danke Jochen).
> Und ich bin schockiert, dass MySQL (bei mir 5.0.18) sich das bei einem
> Feld vom Typ date gefallen lässt. Kann leider erst heute abend testen,
> was Firebird zu so was sagt.

Na klar lässt sich MySQL sowas gefallen: Bei datum like ... wird das
datum erst in String gecastet und dann erst verglichen. Deshalb ist es
auch nicht wirklich eine günstige Variante.

> In diesem Thread 3,5 Beiträge zum Problem (OP mitgezählt), 5,5 zum Thema
> RTFM.

Na, das ist ja nicht mal so schlecht, bei einer solchen Frage hätten's
durchaus *nur* RTFM-Antworten geben können.


HTH, Johannes

Re: Datumsfeld

am 09.05.2006 08:42:40 von Sibylle Koczian

Johannes Vogel schrieb:
> Hi Sibylle
>=20
> Sibylle Koczian wrote:
>=20
>>Und ich bin schockiert, dass MySQL (bei mir 5.0.18) sich das bei einem
>>Feld vom Typ date gefallen lässt. Kann leider erst heute abend testen=
,
>>was Firebird zu so was sagt.
>=20
>=20
> Na klar lässt sich MySQL sowas gefallen: Bei datum like ... wird das
> datum erst in String gecastet und dann erst verglichen. Deshalb ist es
> auch nicht wirklich eine günstige Variante.
>=20

Firebird scheint es genau so zu machen, ist also zumindest keine
MySQL-Extrawurst; ist es etwa gar Standard? Günstig aber bestimmt nicht=


Und nur zur Abrundung: bei dieser Gelegenheit habe ich gesehen, dass es
auch

EXTRACT(YEAR_MONTH FROM datum)

gibt - das dürfte ja der häufigere Fall sein.

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE