Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Oracle Newbie - SQL question
Jack Straw wrote:
> Hey everyone,
>
> Just getting my feet wet with Oracle and I have run into a question I was
> hoping to get some help with.
>
> I am currently studying for the Oracle SQL cert and came accross this
> question:
>
> "Display the last name, hire date and the day of the week on which the
> employee started. Label the column DAY. ORder the results by the day of
> the week starting with Monday"
>
> My question concerns the answer supplied in the text:
>
> "SELECT last_name, hire_date, TO_CHAR(hire_date,'fmDay')
> FROM employees
> ORDER by TO_CHAR(hire_date -1,'d')"
>
> I don't understand the ORDER BY clause.
>
> Specifically:
>
> 1) "hire_date -1"
> - My understanding is that Oracle's day 1 of a week is Sunday. It doesn't
> seem intuative to use "-1" to move a day forward? Am I misunderstanding
> something?
>
> 2) 'd'
> - What does this represent? I had assumed "day" but that substitution
> results in 'some other' weird grouping I don't understand. (ie. it groups
> all the days of the week but in no apparent order)
>
> Thanks in advance for any help!
>
> Jon
It moves the value of Monday to 1 and the value of Sunday to 7.
So the sort becomes Monday, Tuesday, .... Saturday, Sunday
Daniel Morgan Received on Wed Jul 17 2002 - 12:07:13 CDT