snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.
In veel sql talen zit ondersteuning voor case expressies, hiermee zou je wel het een en ander kunnen opvangen:
Zoiets zou dan de meest recente werkdag moeten selecteren: (niet getest, en zelf ook weinig ervaring met oracle
, dus grote kans dat het niet helemaal werkt)
(dit is dan wel afhankelijk van de regionale instellingen op de server)
Zoiets zou dan de meest recente werkdag moeten selecteren: (niet getest, en zelf ook weinig ervaring met oracle
SQL:
1
2
3
4
5
6
| select case to_char(sysdate, 'D') when 7 then to_char (sysdate - 2,'DD-MM-YYYY') when 1 then to_char (sysdate - 3,'DD-MM-YYYY') else to_char (sysdate - 1,'DD-MM-YYYY') end from dual; |
(dit is dan wel afhankelijk van de regionale instellingen op de server)
Verwijderd
Oplossing was goed, alleen krijg je problemen met data types (to_char in vergelijking met een nummer).pjotrk schreef op 05 november 2004 @ 15:52:
Zoiets zou dan de meest recente werkdag moeten selecteren: (niet getest, en zelf ook weinig ervaring met oracle, dus grote kans dat het niet helemaal werkt)
SQL:
1 2 3 4 5 6 select case to_char(sysdate, 'D') when 7 then to_char (sysdate - 2,'DD-MM-YYYY') when 1 then to_char (sysdate - 3,'DD-MM-YYYY') else to_char (sysdate - 1,'DD-MM-YYYY') end from dual;
(dit is dan wel afhankelijk van de regionale instellingen op de server)
Volgens mij moet dit werken:
SQL:
1
2
3
4
5
6
7
| select case to_number(to_char(trunc(sysdate), 'D')) when 7 then to_char(trunc(sysdate) - 2,'DD-MM-YYYY') when 1 then to_char(trunc(sysdate) - 3,'DD-MM-YYYY') else to_char (trunc(sysdate) - 1,'DD-MM-YYYY') end from dual; |
[ Voor 7% gewijzigd door Verwijderd op 05-11-2004 16:13 ]
ziet er goed uit ik heb maandag de kans opnieuw hiermee aan de slag te gaan maar het moest haaast gaan werken, thnx
snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.