Tuesday, June 10, 2008

Default Date, Timestamp and Timestamp with time zone format

Whenever I created a table with datatype of date or timestamp or data type with timestamp with timezone then while display on to SQL*plus what will be their format? How I can see the format of them before returning result on my monitor?

With an example I will illustrate the scenario.

1)First I have created a table with date, timestamp and timestamp with time zone data type.
SQL> create table test_time (date_col date, timest_col timestamp , times_zone timestamp with time zone);
Table created.

2)Insert one row in the table.

SQL> insert into test_time values(SYSDATE, SYSTIMESTAMP, SYSTIMESTAMP);
1 row created.

3)Now query the table.

SQL> col TIMEST_COL format a30
SQL> col TIMES_ZONE format a50
SQL> select * from test_time;


DATE_COL TIMEST_COL TIMES_ZONE
--------- ------------------------------ --------------------------------------------------
10-JUN-08 10-JUN-08 03.33.55.150572 AM 10-JUN-08 03.33.55.150572 AM -04:00

As we see the result came in a format. Where they got the format. Have u specified it inside session. Whether you have explicitly set any parameter or not you can query by,

SQL> show parameter nls_date_format

NAME TYPE VALUE
------------------------------------ --------------------------------- ---------------

nls_date_format string
SQL> show parameter NLS_TIMESTAMP_FORMAT
NAME TYPE VALUE
------------------------------------ --------------------------------- --------------
nls_timestamp_format string

We see both parameter returns null value that is they are not explicitly set. Now from where those format comes?

You can see the default format from DATABASE_PROPERTIES as follows,

SQL> select property_name , property_value from database_properties where property_name='NLS_DATE_FORMAT' or property_name='NLS_TIMESTAMP_FORMAT' or property_name='NLS_TIMESTAMP_TZ_FORMAT';

PROPERTY_NAME PROPERTY_VALUE
------------------------------ ----------------------------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

So , rows comes as it is specified format here. We can change it as our wish like,

SQL> alter session set NLS_TIMESTAMP_FORMAT ='DD-MON-RR HH.MI';

Session altered.

SQL> select * from test_time;

DATE_COL TIMEST_COL TIMES_ZONE
--------- ------------------------------ --------------------------------------------------
10-JUN-08 10-JUN-08 03.33 10-JUN-08 03.33.55.150572 AM -04:00

SQL> alter session set NLS_DATE_FORMAT ='DD/MON/YY';
Session altered.

SQL> select * from test_time;

DATE_COL TIMEST_COL TIMES_ZONE
--------- ------------------------------ --------------------------------------------------
10/JUN/08 10-JUN-08 03.33 10-JUN-08 03.33.55.150572 AM -04:00

Using alter session only set format for current session. It does not change default database properties.
Related Documents
http://arjudba.blogspot.com/2009/12/oracle-object-type-exercises-varray.html
http://arjudba.blogspot.com/2009/12/practice-oracle-joins-examples.html
http://arjudba.blogspot.com/2009/12/oracle-security-practices.html
http://arjudba.blogspot.com/2009/12/exercises-with-oracle-create-table-add.html
http://arjudba.blogspot.com/2009/12/oracle-database-creation-exercises.html
http://arjudba.blogspot.com/2009/12/basic-oracle-sql-exercise.html
http://arjudba.blogspot.com/2009/08/format-model-modifiers-fx-and-fm.html
http://arjudba.blogspot.com/2009/08/number-format-models-in-oracle.html
http://arjudba.blogspot.com/2009/08/format-models-in-oracle.html
http://arjudba.blogspot.com/2009/07/sql-decode.html
http://arjudba.blogspot.com/2009/07/how-to-know-row-of-table-belong-to.html
http://arjudba.blogspot.com/2009/06/how-to-know-which-objects-are-being.html
http://arjudba.blogspot.com/2009/06/ddl-with-wait-option-in-11g.html
http://arjudba.blogspot.com/2009/06/ora-00939-too-many-arguments-when-case.html
http://arjudba.blogspot.com/2009/03/oracle-datatype-internal-code.html
http://arjudba.blogspot.com/2009/03/how-to-know-list-of-constraints-and.html
http://arjudba.blogspot.com/2009/02/how-to-know-dependent-objectswhich.html
http://arjudba.blogspot.com/2009/02/how-to-search-stringkey-value-from.html
http://arjudba.blogspot.com/2009/02/how-to-know-when-tableobjects-ddlcode.html
http://arjudba.blogspot.com/2009/02/ora-00920-invalid-relational-operator.html
http://arjudba.blogspot.com/2009/01/adding-default-value-to-column-on-table.html
http://arjudba.blogspot.com/2009/01/ora-12838-cannot-readmodify-object.html
http://arjudba.blogspot.com/2009/01/ora-01779-cannot-modify-column-which.html
http://arjudba.blogspot.com/2009/01/updating-table-based-on-another-table.html
http://arjudba.blogspot.com/2009/01/ora-00054-resource-busy-and-acquire.html
http://arjudba.blogspot.com/2008/12/troubleshoot-ora-02292-ora-02449-and.html
http://arjudba.blogspot.com/2008/06/ora-00903-oracle-database-reserved.html
http://arjudba.blogspot.com/2008/06/hints-in-oracle.html
http://arjudba.blogspot.com/2008/06/examples-of-usage-of-composite-index.html
http://arjudba.blogspot.com/2008/06/find-indexes-and-assigned-columns-for.html
http://arjudba.blogspot.com/2008/06/reasons-for-using-alter-table-statement.html
http://arjudba.blogspot.com/2008/06/alter-table-rename-table-add-column.html
http://arjudba.blogspot.com/2008/06/ora-01830-date-format-picture-ends.html
http://arjudba.blogspot.com/2008/06/default-date-timestamp-and-timestamp.html
http://arjudba.blogspot.com/2008/06/create-temporary-table-in-oracle.html
http://arjudba.blogspot.com/2008/06/example-of-antijoin-semijoin-curtesian.html
http://arjudba.blogspot.com/2008/12/ora-02297-cannot-disable-constraint.html
http://arjudba.blogspot.com/2008/10/convert-decimal-to-hexadecimal-on.html
http://arjudba.blogspot.com/2008/10/how-to-generate-fibonacci-series-in.html
http://arjudba.blogspot.com/2008/10/same-sounded-words-in-oracle.html
http://arjudba.blogspot.com/2008/09/type-of-constraint-in-oracle.html
http://arjudba.blogspot.com/2008/09/how-to-move-lob-data-to-another.html
http://arjudba.blogspot.com/2008/08/subqueries-in-oracle-with-example.html
http://arjudba.blogspot.com/2008/08/how-to-monitor-alert-log-file-in-oracle.html
http://arjudba.blogspot.com/2008/08/solution-of-ora-01873-leading-precision.html
http://arjudba.blogspot.com/2008/07/literals-and-literal-types-in-oracle.html
http://arjudba.blogspot.com/2008/07/ora-01722-invalid-number.html
http://arjudba.blogspot.com/2008/07/ora-00936-missing-expression.html
http://arjudba.blogspot.com/2008/07/ora-01756-quoted-string-not-properly.html
http://arjudba.blogspot.com/2008/07/pls-00428-into-clause-is-expected-in.html
http://arjudba.blogspot.com/2008/07/schema-object-naming-rules.html
http://arjudba.blogspot.com/2008/06/datetime-and-interval-datatypes.html
http://arjudba.blogspot.com/2008/06/large-object-lob-datatypes-with-example.html
http://arjudba.blogspot.com/2008/06/history-of-sql.html
http://arjudba.blogspot.com/2008/06/what-is-sql.html

No comments:

Post a Comment