Thinkwise søger skandinaviske partnere til moderniseringsplatform, som afkoder og ombygger funktionaliteten i gamle legacy-systemer.
27. juni 2024
Slettet bruger
15. juni 2004 - 11:51#1
Hvis datatypen på feltet time er varchar2 eller ligenende kan du bruge følgende: SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY to_number(substr(time,1,2),'99'), substr(time,4,2)
Synes godt om
Slettet bruger
15. juni 2004 - 11:58#2
Ups! Jeg læste ikke dit problem rigtigt. Prøv dette:
SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY decode(sign(9-Time),-1,1,0),Time
"sign(9-Time)" skal justeres alt efter hvilken datatype "time" er.
Synes godt om
Slettet bruger
15. juni 2004 - 11:59#3
Prøver igen: SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY decode(sign(Time-9),-1,1,0),Time
Problemet er at vi ikke vil bruge Oracle specifikke funktioner, da vil gerne vil kunne udskifte databasen. Så det skal være SQL 95 standard. Ellers godt bud. Det virker......
Synes godt om
Slettet bruger
15. juni 2004 - 12:25#5
Hvad så med:
SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY -(Time div 9),Time
Synes godt om
Slettet bruger
15. juni 2004 - 12:40#6
Ups. Giver problem efter kl. 18 - prøv dette i stedet:
SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY Time*(Time div 9),Time
Synes godt om
Slettet bruger
15. juni 2004 - 12:50#7
Måske lidt søgt - men virker:
SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY 2-((Time div 9)-(Time div 18)),Time
Hmmmm, kan ikke lige få det til at virke, meeeen det nok bare mig...
Synes godt om
Slettet bruger
16. juni 2004 - 09:15#9
Kan også skrives sådan:
SELECT name, time, day FROM tblaccount WHERE day_id=1843 ORDER BY 2-(trunc(Time/9)-trunc(Time/18)),Time
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.