Solved

Convert Date field in oracle

Posted on 2011-02-11
11
704 Views
Last Modified: 2012-05-11
Greeting,
I have a date field in Oracle in dd-mmm-yy format. Now I want to convert it to MM/dd/yyyy format. How to do it in a select stmt in oracle?

Thanks
0
Comment
Question by:mrong
  • 3
  • 3
  • 2
  • +2
11 Comments
 
LVL 18

Expert Comment

by:sventhan
ID: 34874622
to_char(yourdate,'MM/dd/yyyy')
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 34874632
Dates are stored as a number in Oracle.  How they are 'displayed' is based on the NLS_DATE_FORMAT parameter of a TO_CHAR call:

select to_char(date_column,'MM/DD/YYYY') from table;
0
 
LVL 18

Expert Comment

by:sventhan
ID: 34874647
select to_char(sysdate,'MM/dd/yyyy') from dual

would give you

TO_CHAR(SY
----------
02/11/2011
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 34874660
>>dd-mmm-yy

I should have added that without a TO_CHAR and NLS_DATE_FORMAT set, the 'default' is DD-MON-YY which is what you are seeing.
0
 
LVL 73

Expert Comment

by:sdstuber
ID: 34874670
date's don't have formats,  strings have formats

is your field really a date?

 if so, just select it with the format you want

if your field is really a string, then convert it to a date, then convert that date to a string


to_char(to_date(your_field,'dd-mmm-rr'), 'MM/dd/yyyy')
0
 

Author Comment

by:mrong
ID: 34874689
This won't work since I need to compare this date to date range below.

to_char(yourdate,'MM/dd/yyyy')  between ? and ?

? is in mm/dd/yyyy format.

thanks.
0
 

Author Comment

by:mrong
ID: 34874722
If I do the following comparison, it won't give me the correct output.

to_char(yourdate,'MM/dd/yyyy')  between ? and ?
? is in mm/dd/yyyy format.

0
 
LVL 73

Accepted Solution

by:
sdstuber earned 500 total points
ID: 34874765
again

dates do NOT have formats,  only strings have formats


if   ? and ?  are strings in mm/dd/yyyy format then "between" doesn't make sense because they will be sorted in alphabetical order,  not date order.


compare dates to dates  and strings to strings

yourdate between to_date(?,'mm/dd/yyyy') and to_date(?,'mm/dd/yyyy').

0
 
LVL 73

Expert Comment

by:sdstuber
ID: 34874777
if "yourdate" is actually a string then

you must convert it to a date too

to_date(yourdate,'whatever format is appropriate for this string')
           between to_date(?,'mm/dd/yyyy') and to_date(?,'mm/dd/yyyy').

0
 
LVL 18

Expert Comment

by:sventhan
ID: 34874884
<  Now I want to convert it to mm/dd/yyyy format

Please post your Table Structure or DATA types for all the 3 columns involved in this SQL.

If all columns are dates then

where yourdate1 between date2 and date3
0
 
LVL 4

Expert Comment

by:leewv1
ID: 34874963
You can do this:

SQL> alter session set NLS_DATE_FORMAT='MM/dd/yyyy';

use your select statement like:

select column_a, column_b from table  where date_column between  'first date' and 'second date' (formatted as MM/DD/YYYY for first and second date)

select column_a, column_b from table  where date_column between  '01/012011' and '01/31/2011''
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question