Toon posts:

[mysql] date selecteren 01-01-82

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een database met geboortedatums als 01-01-82. Nu wil ik een verjaardag kalender maken maar hoe krijg ik nu bij vandaag de juiste data eruit..

probleem is namelijk, hoe lees ik nu uit deze datum de maand en de dag? volgens mij is dit namelijk geen officiele notatie. Ik heb al flink lopen spitten in de helpfile van mysql en daar staat van alles in als DATE_FORMAT en GET_FORMAT maar het wil me maar niet lukken..

iemand die me uit kan leggen of dit uberhaubt te maken is?

  • 418O2
  • Registratie: November 2001
  • Laatst online: 00:26
haha :)

dit probleem heb ik onlangs ook gehad..

Ik heb gewoon ALLE data uit de db gehaald en vervolgens er (volgens jou voorbeeld)

820101

van gemaakt. Dan kan je ze selecteren. Je kan het niet in een query doen, daar MySQL niet goed met data (als in het meervoud van datum) om kan gaan.

Verwijderd

Topicstarter
het gaat hier om 600 regels..

was niet van plan daar mijn typdiploma op los te laten :P

andere opties..

ik heb al bedacht om ee scriptje te maken waarbij ik de datum eruithaal, opdeel in dag, maand en jaar. en vervolgens in de USA format terug zet..

Maar dat heeft weer nadelen op andere plekken in mijn site, dus liever niet. En .. dit moet toch ook via de Query op te lossen zijn..

  • flexje
  • Registratie: September 2001
  • Laatst online: 20:52

flexje

got-father

Is dit niet op te lossen met de functie mktime? Of lul ik weer is slap :P

"Try not to become a man of success but rather to become a man of value..."


  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

misschien dat je iets met een substring kunt doen in mysql?
iets van
code:
1
SELECT SUBSTRING(`date`, 5) AS `maanddag` FROM `verjaardagen` WHERE `maanddag`='01-01'

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 23:30

NMe

Quia Ego Sic Dico.

Als je gewoon het date datatype gebruikt staat het in de database opgeslagen als yyyymmdd, dus 19820101 in jouw geval. Je hebt dus niets te maken met formaten als je de goeie functies gebruikt.
code:
1
2
3
SELECT *
FROM jouwtabel
WHERE datum = DATE('01-01-1982')
DATE() is available as of MySQL 4.1.1.
http://www.mysql.com/doc/en/Date_and_time_functions.html

edit:
Ik moet es leren lezen :X

[ Voor 7% gewijzigd door NMe op 03-03-2004 12:44 ]

'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.


  • 418O2
  • Registratie: November 2001
  • Laatst online: 00:26
Verwijderd schreef op 03 maart 2004 @ 12:29:
het gaat hier om 600 regels..

was niet van plan daar mijn typdiploma op los te laten :P

andere opties..

ik heb al bedacht om ee scriptje te maken waarbij ik de datum eruithaal, opdeel in dag, maand en jaar. en vervolgens in de USA format terug zet..

Maar dat heeft weer nadelen op andere plekken in mijn site, dus liever niet. En .. dit moet toch ook via de Query op te lossen zijn..
ok pseudo code
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
$teller = 0;

$sql = "SELECT gebdatum FROM tbl_bla"
$result = mysql_query($sql);

while($row = mysql_fetch_array( $result) ) {
$date = $row["geb_datum"]
$date 2 = substr($date, 4, 2).substr($date, 0 ,2); // je pakt de maand + dag (1 jam wordt 0101)

if($date == "0101") //De verjaardagen van 1 januari
// Voer je actie uit
}

[ Voor 14% gewijzigd door 418O2 op 03-03-2004 13:49 ]

Pagina: 1