ORACLE数据库中怎么设置date类型

2024-12-21 18:16:52
推荐回答(4个)
回答1:

分两种情况,一种是在创建表的时候直接设置date类型,另一种是在表已存在的情况下,更改某字段类型为date。

第一种情况:

create table test
(id int,
ttime date);

如,上述内容是直接设置ttime字段类型为date。


第二种情况:

alter table test modify ttime date;

如,上述是将test表中的ttime字段在非date类型的情况下改为date类型,但前提需要是表内无数据,否则执行会报错。

回答2:

SQL Plus 里面, 暂时设置一下 Session 里面的 日期格式显示的设置。

SQL> ALTER session
2 SET nls_date_format='yyyy-mm-dd hh24:mi:ss';

Session altered.

然后 SELECT wgrq FROM yy_xmxx WHERE jsnd='2009' 看看。
首先确认数据库的数据,被正确的更新了。

至于那个 在前台看到的是1899-12-30。
不知道那个 前台是什么软件写的了。

回答3:

语句没有问题...

问题在你去查看结果的时候 显示的问题...
那是你的session设置问题...
将 NLS_DATE_FORMAT设置下
SQL> ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';

一劳永逸的方法是:
去x:\oracle\product\10.2.0\db_1\sqlplus\admin下的glogin.sql脚本下进行编辑,永久有效,不用每次都设置。

回答4:

试试下面这样:
update yy_xmxx set wgrq=to_date('2009-12-30','yyyy-mm-dd','NLS_DATE_LANGUAGE = American')where jsnd='2009'