I have a table called 'ADDRESSES'.
My query:
select MODIFIED_DATE, CITY from ADDRESSES order by MODIFIED_DATE desc, CITY asc;
By running the above query I get:
MODIFIED_DATE CITY
============= ==============
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 DENVER
13-JAN-16 DENVER
But I expect:
MODIFIED_DATE CITY
============= ==============
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 CHICAGO
13-JAN-16 DENVER
13-JAN-16 DENVER
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
13-JAN-16 KANSAS CITY
The data type of MODIFIED_DATE is DATE and the data type of CITY is VARCHAR2.
Why is this happening?
Oracle Date contains more information than displayed : hour, minutes and second. If you are only interested in the date part you should use trunc()
order by trunc(MODIFIED_DATE) desc, CITY asc
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.