Toon posts:

[MySQL] Selecteren d.m.v. gedeelte van datum

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik heb een vraagje. Ik wil rows selecteren en uitlezen uit m'n database a.d.h.v. een gedeelte van een datum. Elke row heeft een datumveld (date) in het volgende format: %Y-%m-%d (dus bijvoorbeeld: 2004-05-23). Ik wil selecteren op alleen jaar en maand, bijvoorbeeld: 2004-05. Dus alle entries met als jaar-maand -> 2004-05 moet ie pakken. De datum, 2004-05, is afkomstig van een php-variabele $date.

Hoe zet ik dit in een MySQL query? (Ik had zelf al gekeken in de MySQL Manual bij Date and Time Functions, maar kan hier niet echt wijs uit worden.)

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
(Ik had zelf al gekeken in de MySQL
Maar heb je zelf al wat geprobeerd dan? Misschien kom je met WHERE datum LIKE %$date% al een stuk verder.

March of the Eagles


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

MONTH(date)

Returns the month for date, in the range 0 to 12.

mysql> SELECT MONTH('1998-02-03');
-> 2
YEAR(date)

Returns the year for date, in the range 1000 to 9999, or 0 for the “zero” date.

mysql> SELECT YEAR('98-02-03');
-> 1998
Wat is daar dan niet duidelijk aan?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 18:30

Robtimus

me Robtimus no like you

WHERE MONTH(veld) = 5 AND YEAR(veld) = 2006?

edit:
te traag...

[ Voor 25% gewijzigd door Robtimus op 18-03-2006 18:16 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
-NMe- schreef op zaterdag 18 maart 2006 @ 18:14:
[...]


[...]

Wat is daar dan niet duidelijk aan?
Hmm...ok...hehe....ik zat volgens mij een beetje bij de verkeerde functies te kijken. Ik ga het hier ff mee proberen.

@Hacku: Ja, ik had zelf al dingen geprobeerd, maar met de verkeerde functies dus.

Verwijderd

Topicstarter
Het werkt. Maar ik heb nog wel een vraagje. Kan ik er ook nog een ORDER BY inzetten? Wil ze namelijk op date desc ordenen. Krijg ik nog niet helemaal voor elkaar.

[ Voor 15% gewijzigd door Verwijderd op 18-03-2006 18:33 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:31
Waarom zou je er geen order by kunnen bij zetten ? Wat lukt er niet ? Welke fout krijg je ?
Een order by is het laatste statement in je select clause.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op zaterdag 18 maart 2006 @ 18:37:
Waarom zou je er geen order by kunnen bij zetten ? Wat lukt er niet ? Welke fout krijg je ?
Een order by is het laatste statement in je select clause.
Sorry, ik vergeet ff dat ik de code er ff bij moet zetten. Bij deze mijn query:

code:
1
$query = "SELECT * FROM $tableNieuws WHERE MONTH(date)='$month' AND YEAR(date)='$year', order by date desc";


en de error:
warning: error in query: "SELECT * FROM nieuws WHERE MONTH(date)='02' AND YEAR(date)='2006', order by date desc"

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' order by date desc' at line 1
Volgens mij maak ik ergens een domme fout.

[ Voor 6% gewijzigd door Verwijderd op 18-03-2006 18:57 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Geen komma voor de ORDER BY zetten. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

het is ook niet slim om gereserveerde woorden (zoals date) te gebruiken als veldnaam, dat kan tot vreemde fouten leiden

Fat Pizza's pizza, they are big and they are cheezy


Verwijderd

Topicstarter
-NMe- schreef op zaterdag 18 maart 2006 @ 19:01:
Geen komma voor de ORDER BY zetten. ;)
OMG |:( Dat bedoel ik dus....haha...domme fout. Ik dacht ook dat ik die komma al eens weg had gehaald. Blijkbaar niet dus. Bedankt iig.
Pagina: 1