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表达式显示
甚至
具体如下:
(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数据库如何改变日期格式的主要内容,如果未能解决你的问题,请参考以下文章