Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the setting to view the time part with date in Oracle PL/SQL developer?

I have a table named AUDIT which saves all the modifications done on an account. There is a field AUDIT_DATE which contains the date on which a particular modification has been done. Now the problem is, in one of my colleagues Oracle PL/SQL developer, I can see the time as well as the date in the AUDIT_DATE column, but in my Oracle PL/SQL developer, I can't see the time part. So I believe some setting is not properly done in my Oracle PL/SQL developer and that's why I can't see the time part. I asked the colleague, but he has no clue about the discrepancy.

like image 276
Mistu4u Avatar asked May 16 '14 18:05

Mistu4u


People also ask

How do I display a date in YYYY-MM-DD format in Oracle?

Use TO_CHAR to display it in any format you like. For example: SELECT TO_CHAR ( TO_DATE (date_value, 'yyyy-mm-dd') , 'mm/dd/yyyy' ) FROM table_x; Things are much easier if you store dates in DATE columns.

How do I view a TIMESTAMP in SQL?

The CURRENT_TIMESTAMP function returns the current date and time, in a 'YYYY-MM-DD hh:mm:ss. mmm' format. Tip: Also look at the GETDATE() function.

How do I get the TIMESTAMP from a date in SQL Developer?

Use the function trunc(my_timestamp). You can use select to_date(to_char(date_field,'dd/mm/yyyy')) from table.


1 Answers

If you want to see dates with times shown as well without applying a format mask with to_char(), you need to change your NLS_DATE_FORMAT. Assuming you do mean Oracle SQL Developer, you can do this from Tools->Preferences, expand the Database section in the panel on the left, and select NLS:

enter image description here

At the moment NLS_DATE_FORMAT is set to DD-MON-RR, which would show today as 16-MAY-14. To show the full date and time I might set it to YYYY-MM-DD HH24:MI:SS. You might want to change the NLS_TIMESTAMP format as well.

PL/SQL Developer also has NLS options under Tools->Preferences:

enter image description here

You can see the available format models in the documentation.

If you're writing code that will or may ever be executed by someone else, do not rely on implicit formatting using those parameters. They're fine for ad hoc queries in your own enclosed environment, but they may break in interesting ways when someone else - with different NLS settings - runs them. For anything except ad hoc queries you should really specify the mask, using to_char(<column>, 'YYYY-MM-DD HH24:MI:SS') or whatever model is appropriate. This of course also means you get the right formatting for the column; if you have columns that only represent times then setting the session's format model and relying on that means you see all the 00:00:00 times, which is often just noise.

like image 178
Alex Poole Avatar answered Sep 30 '22 12:09

Alex Poole