oracle 时间格式转换的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 时间格式转换的问题相关的知识,希望对你有一定的参考价值。

我的表bspfm.TMP_PROJECT_INVOICE_INFO,字段为date的字段读取的时间格式为‘12-8月 -11’,现在我想把这个字段的格式全部批量改为这样的“2011-08-12” 我想问下怎么写。
补充:不是所有时间段都是‘12-8月 -11’,有的是“14-8月 -11”,要改成相应的正确的格式。所以UPDATE的时间的函数不知道怎么写,高手帮忙啊 谢谢。最好写完整了 我参考 学习下哦

参考技术A 不用update 直接在读取的时候加个 函数就行
比如:
SQL> select ename , hiredate from emp;

ENAME HIREDATE
---------- --------------
SMITH 17-12月-80
ALLEN 20-2月 -81

SQL> select ename , to_char(hiredate,'yyyy-mm-dd') from emp;

ENAME TO_CHAR(HI
---------- ----------
SMITH 1980-12-17
ALLEN 1981-02-20

这样就是你想要的格式了~本回答被提问者采纳
参考技术B 改下你的时间日期格式就行了
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
这个语句只是改你的本次会话,永久改
修改系统/用户环境变量,新增一个nls_date_format变量,值为YYYY-MM-DD HH24:MI:SS,或者到注册表找到nls_date_format 改下也行,
不要update表,update也没用
参考技术C 你这个字段是date型的?如果date型的你就不能修改其格式,也无需修改,当你展示时通过to_char(日期型字段或者变量,'指定格式YYYY-MM-DD')就可以实现。如果是字符串型就可以随意修改了。
如:to_char(date‘,'YYYY-MM-DD')
参考技术D 直接用这个去查询select to_char(date,'yyyy-mm-dd') from bspfm.TMP_PROJECT_INVOICE_INFO; 第5个回答  2011-08-25 update bspfm.TMP_PROJECT_INVOICE_INFO set times= to_char(times,'yyyy-mm-dd');

怎么在Oracle中将时间戳转化为日期格式

参考技术A oracle中,日期转换函数有很多,常用命令如下:
to_char()命令将时间戳转换为用户规定的日期格式,如:
SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') FROM DUAL;

语法:TO_CHAR(X [,format])
说明:将X按format格式转换成字符串。X可以是日期或者数字或时间戳,format是一个规定了X采用何种格式转换的格式字符串
to_date()命令可以将一个日期格式的字符串转换成date类型数据,如:
SELECT TO_DATE('2014-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') FROM DUAL;

语法:TO_DATE(C [,format])
说明:将符合format指定的特定日期格式的字符串C转换成DATE类型的数据
TO_TIMESTAMP()函数可以将一个时间格式的字符串转换成时间戳
SELECT TO_TIMESTAMP('2014-06-20 12:11:11','YYYY-MM-DD HH24:MI:SS') from dual;

语法:TO_TIMESTAMP(C [,format])
说明:将字符串C转换为一个时间戳数据类型
---to_char()命令可以将时间戳转换成字符串:
select to_char( TO_TIMESTAMP('2014-06-20 12:11:11','YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') from dual;
当需要进行两个日期的比较时,不需要比较时间,可采用trunc()命令来截取日期

SQL> select to_char( trunc(sysdate), 'YYYY-MM-DD HH24:MI:SS') from dual;
SQL> select to_char( sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
比较两句的运行结果,可以看到差别。本回答被提问者采纳

以上是关于oracle 时间格式转换的问题的主要内容,如果未能解决你的问题,请参考以下文章

oracle中如何转换时间格式

oracle日期转换问题

如何在Oracle中将时间戳转化为日期格式

怎么在Oracle中将时间戳转化为日期格式

oracle 日期格式 格式 转换

oracle SQL语句,日期格式转换