oracle日期格式tochar,Oracle日期格式转换,tochar(),todate()
本文主要介绍Oracle中的日期转换。
1. 日期转化为字符串 (以2016年10月20日为例)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual; --获取年-月-日 时:分:秒
--显示结果为:2016-10-20 12:35:21
select to_char(sysdate,'yyyymmdd hh24:mi:ss') strDateTime from dual; --获取年月日 时:分:秒
--显示结果为:20161020 13:39:25
select to_char(sysdate,'yyyymmdd') strDateTime from dual; --获取年月日
--显示结果为:20161020
select to_char(sysdate,'yyyy') strYear from dual; --获取年
--显示结果为:2016
select to_char(sysdate,'mm') strMonth from dual; --获取月
--显示结果为:10
select to_char(sysdate,'dd') strDay from dual; --获取日
--显示结果为:20
select to_char(sysdate,'hh24') strHour from dual; --获取时
--显示结果为:13
select to_char(sysdate,'mi') strMinute from dual; --获取分
--显示结果为:46
select to_char(sysdate,'ss') strSecond from dual; --获取秒
--显示结果为:43
2. 字符串和时间互转:to_date()
to_date(‘A','B')的重点是前后的A,B格式要一样,或者A不能比B多字符,如果A有字符,B必须也要有,或者有代替的其他字符。
例如
select to_date('2012-10-20','yyyymmdd') from dual
前面比后面的格式多了" - "符号,就会报错。
ORA:无效的月份
但是如果前面没有符号,后面有符号,如下面的格式比前面多了" - “符号,依然能输出:
select to_date('20051225,132559','yyyy-mm-dd,hh24:mi:ss') from dual;
输出结果:
::
只要格式一样就能输出date类型的格式。
如:
','yyyymmdd') from dual
输出结果:
再比如:
select to_date('2012-10-20','yyyy-mm-dd') from dual
输出结果:
再比如:
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual;
输出结果:
::
如果A有字符,B必须也要有,或者有代替的字符
select to_date('2010-10-20 13:23:44','yyyy/mm/dd hh24:mi:ss') dateTime from dual;
select to_date('2005:12:25','yyyy-mm-dd,hh24:mi:ss') from dual;
select to_date('2005/12/25','yyyy-mm-dd,hh24:mi:ss') from dual;
以上的几个公式中,A都有字符” - " 和 “ :”,但是后面的B用字符“ / ” 代替。同样输出同样的结果:
::
当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。如:
select to_date('2007-06-12 ', 'yyyy-mm-dd hh24:mi:ss') from dual;
输出:
同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。
select to_date('2007-06 ', 'yyyy-mm hh24:mi:ss') from dual;
输出:
但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。
注意:
1.在使用Oracle的to_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
2.另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
如果按照下面的例子写,会报错:ORA-01849:小时值必须介于1和12之间。(因为其中的hh是12进制,没有13所以报错)
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual;
3. 查询某天是星期几
select to_char(to_date('2012-10-20','yyyy-mm-dd'),'day') strDay from dual;
显示结果:星期六
select to_char(to_date('2012-10-20','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = English') strDay from dual;
显示结果:saturday
4. 两个日期间的天数
','yyyymmdd')) strTime from dual;
--其中sysdate=2016/10/20 17:10:51
--显示结果:10
5. 时间为null的用法
select to_date(null) from dual;
6.月份差
select months_between(date'2014-04-23',date'2013-04-23') days from dual;
oracle日期格式tochar,Oracle日期格式转换,tochar(),todate()相关推荐
- cursor is oracle 日期_Oracle时间计算------日期格式参数含义说明
Oracle时间计算------日期格式参数含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的 ...
- oracle的时间各式,Oracle9i日期格式几点说明
1. 在 Oracle9i 之前, 日期格式的数据类型默认格式为"DD-MON-YY",而在 Oracle9i 中 为了解决千年问题, 而引入了新的日期型格式为"DD-M ...
- ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digi
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits ...
- oracle数据库时分秒格式_Oracle数据库日期格式大全
Oracle中TO_DATE格式2009-04-14 10:53TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别
oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别 1.java 1)分钟用mm表示 24小时制: java(区分大小写):yyyy-MM-dd HH:mm: ...
- oracle tochar 格式 ¥,ORACLE函数TO_CHAR以及数字转换格式
ORACLE函数TO_CHAR以及数字转换格式 数点,则要和D配合使用,不能和点号配合. 11 L(本地货币符号) 'L999' 是C的本地版本.可以放在整个格式的最前面和最后面. TO_CHAR(1 ...
- ea连接远程oracle报错,PLSQL Developer日期格式如何定制化
兄弟团队的开发人员,提了个问题, 给了相应示例,如图所见,左侧预投产日期格式,显示"01-JAN-2222",右侧生产日期的格式,显示"01-01月-2222" ...
- oracle 聚合函数 日期,Oracle日期函数/字符函数/数字函数/转换函数/聚合函数
Oracle日期函数: MONTHS_BETWEEN:返回两个日期之间月份的差值 MONTHS_BETWEEN('01-EP-95','11-JAN-94') ===>19.6774194 AD ...
- 日期格式转换成时间戳格式php,php日期转时间戳,指定日期转换成时间戳
有朋友问php与mysql有没有办法把日期转时间戳或把指定日期转换成时间戳呢,其实这个是有并且还非常的简单,下面我来给大家介绍介绍. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是 ...
- 字符串日期 转换成 需要的格式的 字符串日期(超强)
字符串日期 转换成 需要的格式的 字符串日期 调用:dateformat(String pattern,Object date, boolean ifNullGetNow): 参数1:patern:你 ...
最新文章
- Android 逐帧动画(Frame)
- Springmvc+Easyui 搜索,新增,删除,修改
- UVA10305 Ordering Tasks
- HD 1159 Common Subsequence (最长公共子序列)
- linux査 到漠河 装apache,如何在Ubuntu上搭建一台安全的Apache Web服务器
- tab切换webuploader失效的解决方法
- Python安装第三方库临时使用国内源
- 如何获得查询的执行计划?(一)
- ACM HDU 2516 取石子游戏(博弈)
- 惯量比多少合适_详解】伺服电机负载惯量比的合理取值汇总
- 网站banner设计有什么好的方法
- Zynga研发之道探秘:用数据说话
- SLG变现强劲,却易遭黑产侵袭,如何破局?SLG游戏安全方案定制做到出奇制胜!
- PIPI OJ 1203: PIPI发工资(拓扑排序)
- python实现简易数独小游戏
- ES6——TDZ(暂时性死区)
- RT-Thread柿饼控件(1)-- AnimatedImage
- 用傅里叶卷积实现万物隐身!三星这个LaMa神器可试玩!
- Java下载文件时文件名出现乱码(但文件内容正常)
- android webview aosp com.android.webview
热门文章
- 拓扑排序 php,数据结构与算法(周测7-拓扑排序和AOV网络)
- Springboot接受文件与发送文件
- MQTT协议发送GPS坐标到服务器
- 车载Camera术语大全
- Oracle DB 使用RMAN恢复目录
- 音乐制作软件-Ableton Live Suite 9.7.7 X86 PC
- win10密码忘了怎么办_OPPO Find X忘了手机密码怎么办?手机怎么解锁?
- android+wear+和iphone,Android Wear手表兼容iPhone:和苹果抢用户
- 【优化求解】基于混合蛙跳算法实现最优求解matlab源码
- 斐讯k2搭建php环境,斐讯K2路由器的连接及上网设置教程