[PHP][MYSQL] zoeken op maand en jaar alleen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • snrg_Paco
  • Registratie: Januari 2002
  • Laatst online: 02-08-2023
Hallo iedereen,

Ik heb een MYSQL DB met een veld naam LINK_DATE met als kenmerk date.
Hierin staan datums zoals: 2002-05-05

Nu wil ik een query maken in PHP die alleen zoekt naar maand en jaar maar ik heb overal gezocht maar ik kan het nergens vinden.

Kunnen jullie mij op de goeie weg helpen?

grtz,

Acties:
  • 0 Henk 'm!

  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:06
Ik heb zoiets ook al eens gehad en het op de volgende, niet nette manier opgelost: je datum-veld gebruiken alsof het een text-veld is, dus:

SELECT * FROM tabel WHERE datum LIKE '2002-05-%'

MySQL maakte er in ieder geval geen probleem van... maar het zal wel niet volgens de SQL-specificaties zijn.

En anders kom je waarschijnlijk bij

SELECT * FROM tabel WHERE MONTH(datum)=5 AND YEAR(datum)=2002

[ Voor 38% gewijzigd door jurri@n op 18-12-2002 12:47 ]


Acties:
  • 0 Henk 'm!

  • Freee!!
  • Registratie: December 2002
  • Laatst online: 22:38

Freee!!

Trotse papa van Toon en Len!

jurri@n schreef op 18 December 2002 @ 12:46:
Ik heb zoiets ook al eens gehad en het op de volgende, niet nette manier opgelost: je datum-veld gebruiken alsof het een text-veld is, dus:

SELECT * FROM tabel WHERE datum LIKE '2002-05-%'
Makkelijker is om BETWEEN te gebruiken (BETWEEN 2002-05-01 AND 2002-05-31), dan is totaal niet meer belangrijk of het een text-veld, een numeriek veld of een datum/tijd veld is.

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

jurri@n schreef op 18 december 2002 @ 12:46:

En anders kom je waarschijnlijk bij

SELECT * FROM tabel WHERE MONTH(datum)=5 AND YEAR(datum)=2002
Dit is de enige goede manier! >:)
Gebruik geen ingewikkelde regular expressies op datums, als MySQL al perfecte datum-functies heeft! :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 20-08 20:35
Oeps omdat de mysql site t niet echt deed was iik een beetje laat met antwoorden :S

[ Voor 64% gewijzigd door martinvw op 18-12-2002 13:06 ]


Acties:
  • 0 Henk 'm!

  • Freee!!
  • Registratie: December 2002
  • Laatst online: 22:38

Freee!!

Trotse papa van Toon en Len!

thomaske schreef op 18 december 2002 @ 12:58:
[...]
Dit is de enige goede manier! >:)
Gebruik geen ingewikkelde regular expressies op datums, als MySQL al perfecte datum-functies heeft! :)
Maar zijn die datum-functies wel ISO? :? Mijn ervaring met MySQL is nihil, ik hoor er af en toe wat (negatiefs) over, maar ik ben een expertredelijk ervaren met DB2/400 en daar ken ik die datum-functies niet :( (dat wil nog niet zeggen dat ze er niet zijn, maar ik ben ze nog niet tegengekomen en heb ze ook nog niet nodig gehad).
edit:

Ik ben van mening dat niet-ISO functies alleen gebruikt dienen te worden als het echt niet anders kan (bijvoorbeeld omdat een ISO-functie niet ondersteund wordt).

[ Voor 14% gewijzigd door Freee!! op 18-12-2002 13:08 . Reden: Aanvulling ]

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Ach ja, ISO, ANSI... spannend verhaal met MySQL... portable zullen je queries toch niet gauw worden...

En als je 't echt wilt weten, staat het altijd in de manual wel te vinden of een functie of feature ANSI is of niet :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 16-09 09:38

Goodielover

Only The Best is Good Enough.

Precies gebruik toch lekker die functies.
De winst die je daarmee boekt (performance vd query en de programmeur) wegen op tegen het risico van een DB of platform verandering.

Ik in mijn hele loopbaan slechts één keer een verandering van platform gehad, die werd direct meegenomen in een verandering van oude Windows 3.11 naar W2000 en kleine herbouw van het systeem. Dus dan is die query ombouw slechts een klein deeltje.

Acties:
  • 0 Henk 'm!

  • snrg_Paco
  • Registratie: Januari 2002
  • Laatst online: 02-08-2023
thnx voor de reacties iedereen. Ik ga het zo snel mogelijk proberen!

grtz,

Acties:
  • 0 Henk 'm!

  • Freee!!
  • Registratie: December 2002
  • Laatst online: 22:38

Freee!!

Trotse papa van Toon en Len!

snrg_Paco schreef op 18 December 2002 @ 16:05:
thnx voor de reacties iedereen. Ik ga het zo snel mogelijk proberen!

grtz,
Laat je ook nog even de resultaten weten (en wat het uiteindelijk geworden is)? ;)

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


Acties:
  • 0 Henk 'm!

  • snrg_Paco
  • Registratie: Januari 2002
  • Laatst online: 02-08-2023
maar stel nu dat ik een lijst heb met deze data's
2002-12-17
2002-11-18
2002-12-19
2002-11-19

Dan wil ik dat ik alleen 2002-11 en 2002-12 eruit krijg. Is daar ook een makkelijke functie voor in MYSQL?

[ Voor 5% gewijzigd door snrg_Paco op 18-12-2002 16:43 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Oplossing is toch al gegeven? MONTH() en YEAR()

[edit]
niet helemaal goed gelezen..

ik zou zeggen, neem hier eens een kijkje.. en dan voornamelijk de DATE_FORMAT() functie!

[ Voor 72% gewijzigd door thomaske op 18-12-2002 16:50 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."

Pagina: 1