webForumDet fria alternativet

Mera SQLproblem med datum

6 svar · 657 visningar · startad av saw

sawMedlem sedan mars 20011 883 inlägg
#1

Databas mySql.
I databasen så finns det en del datum sparade t ex
2001-06-12
2012-05-22
2012-04-24
osv. Tanken är att jag skall kunna mata in hela årets styrelsemöte.
Men sen så vill jag bara ha ett retunerat svar, det datum som ligger närmast idag.
Jag försöker så här:

SELECT id, datum, plats FROM tillsammansaraby_se.t_meating 
ORDER BY datum DESC LIMIT 0,1 WHERE datum >= DateTime.Now
//och jag får naturligtvis ett error
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 
'WHERE datum >= DateTime.Now' at line 1

Fältet datum har datatypen date, är det fel? Skulle det kanske vara dateTime?
Jag har letat men hittar ingenting som jag har nytta av :stud

@ndersMedlem sedan juni 200026 914 inlägg
#2

Använd CURDATE()i MySql för aktuell dag.

Mvh

metalboyMedlem sedan jan. 2005870 inlägg
#3

WHERE ska ligga före ORDER BY

sawMedlem sedan mars 20011 883 inlägg
#4

Tack @nders, ser detta rätt ut då?

SELECT id, datum, plats FROM tillsammansaraby_se.t_meating
WHERE datum >= CURDATE()
ORDER BY datum ASC LIMIT 0,1
@ndersMedlem sedan juni 200026 914 inlägg
#5

saw skrev:

Tack @nders, ser detta rätt ut då?

SELECT id, datum, plats FROM tillsammansaraby_se.t_meating
WHERE datum >= CURDATE()
ORDER BY datum ASC LIMIT 0,1

ja, det borde funka. Men du behöver nog inte databasnamnet i from - det har du väl angett i din anslutning till databasen?

sawMedlem sedan mars 20011 883 inlägg
#6

Jo det har jag men när jag testar så skriker den alltid om det. Det gör väll ingen skada eller??
Tack än en gång.

@ndersMedlem sedan juni 200026 914 inlägg
#7

Nä, det spelar säkert ingen roll. Jag tycker mest om att inte skriva onödigt mycket.
Därför hade jag i sammanhanget bytt LIMIT 0, 1 till LIMIT 1.

MVH

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb