ORACLE数据库中怎么设置date类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE数据库中怎么设置date类型相关的知识,希望对你有一定的参考价值。
update yy_xmxx set wgrq=to_date('2009-12-30','yyyy-mm-dd')where jsnd='2009' 当年度市2009年时 将完工日期刷2009-12-30 执行之后 看到结果是30-12月-09 为什么会这样
在前台看到的是1899-12-30
分两种情况,一种是在创建表的时候直接设置date类型,另一种是在表已存在的情况下,更改某字段类型为date。
第一种情况:
create table test(id int,
ttime date);
如,上述内容是直接设置ttime字段类型为date。
第二种情况:
alter table test modify ttime date;如,上述是将test表中的ttime字段在非date类型的情况下改为date类型,但前提需要是表内无数据,否则执行会报错。
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。
不知道那个 前台是什么软件写的了。本回答被提问者采纳 参考技术B 语句没有问题...
问题在你去查看结果的时候 显示的问题...
那是你的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脚本下进行编辑,永久有效,不用每次都设置。 参考技术C 试试下面这样:
update yy_xmxx set wgrq=to_date('2009-12-30','yyyy-mm-dd','NLS_DATE_LANGUAGE = American')where jsnd='2009'
以上是关于ORACLE数据库中怎么设置date类型的主要内容,如果未能解决你的问题,请参考以下文章
oracle的date类型:我在表中的某个字段设置的类型是date,想要插入数据后显示"年月日时分秒",该如何插入