webForumDet fria alternativet

SQL för att hämta rader "mellan" två datum?

4 svar · 855 visningar · startad av MartinNr5

MartinNr5Medlem sedan sep. 200285 inlägg
#1

Hej på er.

Jag manipulerar en Access db via PHP och lyckas med de vanliga "where" kriterierna. Det är när jag vill få ut rader mellan ett start- och ett slutdatum som det inte vill sig.

DatumTid fältet har formatet "yyyy-MM-dd tt:mm:ss" och jag tillåter användarna att ange år, månad och dag.

Jag vill med andra ord få tag på alla rader som börjar 00:00 på det startdatum som anges och slutar 23:59 på det slutdatum som anges.

Några tips?

Tack på förhand.

PeeerMedlem sedan mars 20025 907 inlägg
#2
select col1, col2 from tbl
where datumtid BETWEEN #yyyy-MM-dd tt:mm:ss# AND #yyyy-MM-dd tt:mm:ss#
order by col1

Eventuellt ska # bytas ut mot '

MartinNr5Medlem sedan sep. 200285 inlägg
#3

Jag skall prova detta i morgon och återkommer.

Tack för hjälpen. 8)

MartinNr5Medlem sedan sep. 200285 inlägg
#4

Kom på att detta tyvärr bara är nästan rätt.

Vad jag vill ha ser ut såhär i MySQL:

select * from tabell where StartTid > '$From' and StoppTid < '$Tom'

StartTid = fält i tabell, format "YYYY-MM-DD hh:mm:ss"
StoppTid = fält i tabell, format "YYYY-MM-DD hh:mm:ss"

$From = variabel från användare, samma format som ovan
$Tom= variabel från användare, samma format som ovan

Detta fungerar dock inte i Access har jag märkt men jag skall laborera lite med # för att se om jag kan ha dem till något. 8)

Jag återkommer om jag hittar en lösning men alla tips är fortfarande välkomna.

MartinNr5Medlem sedan sep. 200285 inlägg
#5

Heh, kan någon förklara vad # gör i Access för nu fungerar min MySQL sats efter att jag bytte ut ' mot #:

select * from tabell where StartTid > #$From# and StoppTid < #$Tom#

Man lär så länge man lever. 8)

Tack för knuffen i rätt riktning!

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)