Order date value by only year field with extract() function : Order By « Select Query « Oracle PL / SQL






Order date value by only year field with extract() function

  
SQL>
SQL>
SQL> CREATE TABLE emp (
  2    emp_id               NUMBER,
  3    ename             VARCHAR2(40),
  4    hire_date        DATE DEFAULT sysdate,
  5    end_date DATE,
  6    rate     NUMBER(5,2),
  7    CONSTRAINT emp_pk
  8      PRIMARY KEY (emp_id)
  9  );

Table created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (101, 'Mary', to_date('15-Nov-1961','dd-mon-yyyy'),null,169);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (102, 'Tom', to_date('16-Sep-1964','dd-mon-yyyy'),to_date('5-May-2004','dd-mon-yyyy'),135);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (104, 'Peter', to_date('29-Dec-1987','dd-mon-yyyy'),to_date('1-Apr-2004','dd-mon-yyyy'),99);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (105, 'Mike', to_date('15-Jun-2004','dd-mon-yyyy'),null,121);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (107, 'Less', to_date('2-Jan-2004','dd-mon-yyyy'),null,45);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (108, 'Park', to_date('1-Mar-1994','dd-mon-yyyy'),to_date('15-Nov-2004','dd-mon-yyyy'),220);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (110, 'Ink', to_date('4-Apr-2004','dd-mon-yyyy'),to_date('30-Sep-2004','dd-mon-yyyy'),84);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (111, 'Tike', to_date('23-Aug-1976','dd-mon-yyyy'),null,100);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (112, 'Inn', to_date('15-Nov-1961','dd-mon-yyyy'),to_date('4-Apr-2004','dd-mon-yyyy'),70);

1 row created.

SQL> INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (113, 'Kate', to_date('3-Mar-2004','dd-mon-yyyy'),to_date('31-Oct-2004','dd-mon-yyyy'),300);

1 row created.

SQL>
SQL> SET ECHO ON
SQL> SELECT e.emp_id "ID", e.ename "Name",
  2         e.hire_date "Hire Date"
  3  FROM emp e
  4  ORDER BY EXTRACT(YEAR FROM hire_date) DESC, ename ASC;
       110
Ink
04-APR-04

       113
Kate
03-MAR-04

       107
Less
02-JAN-04

       105
Mike
15-JUN-04

       108
Park
01-MAR-94

       104
Peter
29-DEC-87

       111
Tike
23-AUG-76

       102
Tom
16-SEP-64

       112
Inn
15-NOV-61

       101
Mary
15-NOV-61


10 rows selected.

SQL>
SQL> drop table emp;

Table dropped.

   
    
  








Related examples in the same category

1.Ordering data in the SELECT statement ascending
2.Order two columns
3.Query a number type column with order by desc
4.ORDER BY clause with more than one column:by the first column, and within that column, orders by the second
5.Specify ascending or descending for each column
6.Ordering data in the SELECT statement descending
7.Order the results by the average salary
8.Query specific columns with order by clause
9.Use aggregate function in order by clause
10.Query the same column in where statement and order by clause
11.order by 3, 2, 1
12.Get order number by using rownum column
13.DESC for descending
14.ORDER BY with all logic operators
15.Order by date value then by number value
16.Order by columns from different tables
17.Order by index
18.Order by job title ascending but birthday descending
19.Order by name and department number for salary higher than 1500
20.Order by price which is more than 50
21.Order by renamed column
22.Order by renamed column descendingly
23.Order by three columns
24.Order by, range unbounded preceding
25.Order for one column descendingly