oracle数据库如何改变日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库如何改变日期格式相关的知识,希望对你有一定的参考价值。

我的表中有个hiredate字段是date类型的 但所有日期格式都是yyyy/mm/dd格式的
我想改成yyyy-mm-dd的 怎么改最快?

可通过用PL/SQL来改变日期格式。

1、登录PL/SQL。

2、登录后,点击菜单栏,工具—首选项。

3、左侧列表找到“日期/时间”。

4、可通过右侧的各种方式进行自定义的格式和自带的格式来进行修改,修改后点击“确定”按钮保存即可。

参考技术A date类型,改变不了显示的格式。

是使用的时候的显示的格式问题,和数据库内存储的数据无关。

select to_char(sysdate,'yyyy-MM-dd') from dual;

select to_char(hiredate,'yyyy-MM-dd') from dual;

虽然这样可以转换,但多数情况是返回Date类型、哪个页面要显再转换在对应的格式的。追问

怎么改使用的地方的显示格式呢

追答

比如JAVA里面action使用的,用el表达式显示

甚至

本回答被提问者采纳
参考技术B 是TO_DATE格式
具体如下:
(to_date,to_char)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时
select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分
select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒
参考技术C 设置语言区域属性! 参考技术D DateTime dt = DateTime.Now;
Response.Write(dt.ToString("yyyy-MM-dd"));

我错了,看成C#了

在Oracle使用sql语句中如何插入日期格式的数据

INSERT INTO Agents VALUES (10041, 'Kai', 'Marcoux', '1996-12-03', '1970-12-12');
使用如上语句插入时提示文字与格式字符串不匹配,
INSERT INTO Agents VALUES (10235, 'Tobias', 'Carling', '19-Dec-00', '19-Oct-75');
使用如上格式插入时提示无效的月份

1、输入服务器地址、数据库登录用户名、登录密码,完成数据库登录操作。

2、依次点击database—Schema Browser,打开对象浏览窗口。

3、找到要操作的数据表,了解字段名及类型。

4、然后点击“Editor”返回编辑窗口,在该窗口中就可以输入sql语句,并测试运行,以检查sql语句书写是否正确。

5、要在sql语句中匹配日期型字段,就需要将sql语句中“字符”条件转换成日期,需要利用到系统自带的to_date()函数。

6、点击运行按钮,如下图所示sql语句运行结果。

参考技术A 使用to_date函数
************to_date函数参数简介***********
http://hi.baidu.com/ubuntu110/blog/item/dc02862b8f8b5f93033bf69d.html
******************************************
对于你的问题
'1996-12-03' 改为 to_date('1996-12-03','yyyy-mm-dd')
'1970-12-12' 改为 to_date('1970-12-12','yyyy-mm-dd')
'19-Dec-00' 改为 to_date('19-Dec-00','dd-mon-yy')
'19-Oct-75' 改为 to_date('19-Oct-75','dd-mon-yy')
之后直接插入即可。

**************oracle上的实验**************
SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;

TO_CHAR(SY
----------
2009-04-17
SQL> select to_char(sysdate,'dd-mon-yy') from dual;

TO_CHAR(S
---------
17-apr-09

******************************************
----
以上,希望对你有所帮助。本回答被提问者采纳
参考技术B 这样写就没有问题 了!!

INSERT INTO Agents VALUES (10041, 'Kai', 'Marcoux', to_date('1996-12-03','yyyy-MM-dd'),to_date( '1970-12-12','yyyy-MM-dd'));

当然,针对不同的数据库还是有区别的!!
参考技术C 向数据库中插入:to_date('20040810','yyyy-mm-dd'),这里你要注意你的数据库字段必须是日期型,当然日期是什么格式,有很多种,你可以自己选择:yyyy/mm/dd,mm/dd/yyyy等等很多 参考技术D INSERT INTO Agents VALUES (10235, 'Tobias', 'Carling', '2000-10-19','yyyy-mm-dd');

以上是关于oracle数据库如何改变日期格式的主要内容,如果未能解决你的问题,请参考以下文章

oracle日期转换

oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?

oracle 数据库日期格式怎么只要年月日

oracle 短日期格式例如今天是(26.6.2009)

Oracle数据库中如何将字符串格式化为日期

oracle中如何修改日期类型的字段值