建议使用to_char和to_date转换函数test@whxf> select sysdate from dual;SYSDATE -------------- 07-11月-07 test@whxf> create table tb(dt date);表已创建。test@whxf> insert into tb values(to_date('2007-11-07 18:00:00','yyyy-mm-dd hh24:mi:ss'));已创建 1 行。test@whxf> select * from tb;DT -------------- 07-11月-07 test@whxf> select to_char(dt,'yyyy-mm-dd hh24:mi:ss') from tb;TO_CHAR(DT,'YYYY-MM ------------------- 2007-11-07 18:00:00
alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss'; 'yyyy/mm/dd hh24:mi:ss'可以自己指定
SQL> select sysdate from dual;SYSDATE -------- 20071107SQL> alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';セッションが変更されました。SQL> select sysdate from dual;SYSDATE ------------------- 2007/11/07 18:26:15SQL> alter session set nls_date_format = 'yyyymmdd';セッションが変更されました。SQL> select sysdate from dual;SYSDATE -------- 20071107
我用了上面兄弟们的方法,但好像在oracle9i里不起作用。 不过还是要感谢
数据库的默认格式 ====> 数据库保存 date 或 timestamp 类型的数据不存在格式的问题,无论你用什么格式输入,在数据库里保存的都是一样的数据。 所以你只要修改当前 sesseion 的日期表达格式就行了。楼上的方法应该是可行的,如果需要字符表示的月份和日期,还需要修改 nls_date_language 参数。alter session set nls_date_language = 'xxxxxx'
--------------
07-11月-07 test@whxf> create table tb(dt date);表已创建。test@whxf> insert into tb values(to_date('2007-11-07 18:00:00','yyyy-mm-dd hh24:mi:ss'));已创建 1 行。test@whxf> select * from tb;DT
--------------
07-11月-07 test@whxf> select to_char(dt,'yyyy-mm-dd hh24:mi:ss') from tb;TO_CHAR(DT,'YYYY-MM
-------------------
2007-11-07 18:00:00
'yyyy/mm/dd hh24:mi:ss'可以自己指定
--------
20071107SQL> alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';セッションが変更されました。SQL> select sysdate from dual;SYSDATE
-------------------
2007/11/07 18:26:15SQL> alter session set nls_date_format = 'yyyymmdd';セッションが変更されました。SQL> select sysdate from dual;SYSDATE
--------
20071107
不过还是要感谢
在SQL/PLUS里就可以通过。