Tjipp.
Jag sitter med en databas och försöker ta reda på om ett datum är inom ett visst intervall. Har bestämt mig för att göra detta med BETWEEN (hojta om det finns något bättre sätt).
Dock får jag feta "data type mismatch in criteria expression" när jag kör min fråga.
lite förklaringar:
"fom", "tom" är av typen date
Jag vill alltså ha ut (i detta exempel) antalet rader där datumet 2002-01-01 är senare än "fom" men tidigare än "tom"
query
SELECT count(1) FROM bokningar WHERE '2002-01-01' BETWEEN fom AND tom
Någon som vet hur jag ska få det att fungera?
/Sabbacus
Gamla versioner av Access (97 och tidigare) använder # för att omsluta datumvärden. Nyare tycker om apostrofer, men stödjer också # av bakåtkompatibilitetsskäl (phew, vilket ord. ).
Red: Vad returnerar count(1)? Om du bara vill ha något, vad som helst tillbaka, så räcker det att bara fråga efter 1: SELECT 1 FROM ...
Om jag nu minns rätt så returnerar count(1) antalet berörda rader i selectsatsen. Man kan om man vill köra count(id) om man har en tabell som heter så. count(1) är "universell" och kräver inte ett tabellnamn för att fungera.
Så tror jag att det är iaf. rätta mig om jag har fel. Har också en teori om att # inte är en del av SQL-specen utan att det är en MS-uppfinning. korrekt?
så skall ett datum se ut. Standarden har olika datatyper för date/time/timestamp där timestamp motsvarar det som de flesta dbms kallar för date eller datetime.
394 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd