oracle日期转换

Posted

tags:

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

select recorddate from zhwomen_help_thank
结果:30-7月 -10
我想让他输出2010年7月30日
如何转换。。

参考技术A 楼上正解,
一种方法是使用TO_CHAR(字段,'时间日期格式')和TO_DATE(字段,'时间日期格式')来在时间和字符串格式中相互转换,以达到自己希望要的日期格式,这种方式较为灵活

还有一种方法,是一次性改变数据库对date类型数据的输出
控制语句为
alter session set nls_date_format='yyyy年MM月dd日'
这种方式更改之后整个数据库的时间日期格式均变为'yyyy年MM月dd日'的格式,不需要在SQL语句中再转换了
参考技术B select to_char(recorddate,'YYYY')||'年'||to_char(recorddate,'MM')||'月'||to_char(recorddate,'DD')||'日'
from zhwomen_help_thank
参考技术C select to_char(recorddate,'YYYY"年"MM"月"DD"日"')
from zhwomen_help_thank本回答被提问者采纳
参考技术D 日期格式可以通过TO_CHAR转换成需要的日期格式类型:
SQL> SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;
结果为: 2010-09-27 20:10:33
备注:
YYYY 表示年
MM 表示月
DD 表示日期
HH24 表示 0-23 小时
MI 表示分钟
SS 表示秒

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

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;
比较两句的运行结果,可以看到差别。

参考技术A 截断.
select trunc(sysdate) from dual本回答被提问者和网友采纳
参考技术B select trunc(时间字段) 参考技术C cast(timestamp as date)

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

oracle日期转换

oracle怎么把数值型日期转换成日期字符型

oracle SQL语句,日期格式转换

oracle日期转换

oracle日期转换问题

oracle 日期格式 格式 转换