31. maj 2003 - 12:35Der er
4 kommentarer og 1 løsning
Hjælp til BETWEEN
Hej,
Jeg skal hente det samlede antal ordrer i dag, altså alle ordrer der er gået igennem fra f.eks.: 31/05/2003 00:00:00 og til 31/05/2003 23:59:59. En omgang sen-nat-kodning gav følgende (jeg beklager den smule PHP der er med, men det er nok relevant for forståelsen): $today = date("Y-m-d"); $foo = date("d"); $foo = $foo + 1; $tomorrow = date("Y-m-") . str_pad($foo, 2, "0", STR_PAD_LEFT);
$get_totals = odbc_exec($conn, "SELECT SUM(orderPrice), SUM(deliveryPrice), COUNT(id) FROM orderstatus WHERE Orderdate BETWEEN '" . $today . "' AND '" . $tomorrow . "' AND (status IN (1,5,6,8,14))");
Problemet med ovenstående kommer naturligvis på dage som i dag, hvor den vil bruge 32/02/2003 som argument... Ikke helt smart. Jeg søger derfor en stump SQL til at gøre arbejdet for mig. Jeg forestiller mig, at der er en SQL-funktion, som kan gøre noget lign.: SELECT * FROM foo WHERE dato BETWEEN today AND tomorrow Formentlig ikke helt så enkelt, men jeg håber I forstår hvad jeg mener. ;)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du kunne kikke på funktionen to_char(orderdate) - hvis den findes (kender mest til oracle), således at orderdate (som åbenbart er et timestamp) kan formateres til en ren dato - og sysdate kan også formateres til en ren dato - og derefter sammenligne disse:
where to_char(orderdate,'YYMMDD') = to_char(sysdate,'YYMMDD') - det var på oraclesprog
Du kan evt. kigge på SQL-funktionen DateAdd i forbindelse med funktione GetDate() hvor du kan lægge dage til og trække dage fra en dato.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.