oracle中to_date和to_char的区别
2017-08-05 11:21
288 查看
oracle中对时间的操作以及to_char和to_date用法总结
Oracle时间处理有时候to_char和to_date两个比较关键的函数,在此总结一下:
一获取系统当前时间
select sysdate from dual;
二 to_char的用法
select to_char(sysdate,'yyyy.mm.dd') from dual
select to_char(sysdate,'yyyy-mm-dd') from dual
select to_char(sysdate,'yyyy mm dd') from dual
select to_char(sysdate,'yyyy*mm*dd') from dual
select to_char(sysdate,'yyyymmdd') from dual
只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以。我们可以把空格理解为一个空的连接符。
看一个连接符星号的截图:
三 to_date的用法
to_date的要求就稍微多了一点。
www.2cto.com
①带连接符
select to_date('2012.07.26','yyyy-mm-dd') from dual
select to_date('2012.07.26','yyyy.mm.dd') from dual
select to_date('2012.07.26','yyyy mm dd') from dual
select to_date('2012-07-26','yyyy-mm-dd') from dual
select to_date('2012-07-26','yyyy.mm.dd') from dual
select to_date('2012-07-26','yyyy mm dd') from dual
select to_date('2012.7.1','yyyy-mm-dd') from dual
select to_date('2012.7.1','yyyy.mm.dd') from dual
select to_date('2012.7.1','yyyy mm dd') from dual
所谓带连接符,就是我们to_date的第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。而且mm,dd不一定要对应位数。07可以对应mm,7同样可以对应mm。我们可以把空格理解为一个空的连接符。
②不带连接符
select to_date('20120726','yyyymmdd') from dual
select to_date('20120726','yyyy.mm.dd') from dual
select to_date('20120726','yyyy-mm-dd') from dual
不带连接符的必须一一位数对应,第二个字符串带不带连接符均可。07可以匹配mm,但7就不可以匹配mm
③①②中情况查出的结果都是带'-'的,无论有无连接符,连接符是什么。看截图:
四 带上时间的转换
select to_char(sysdate,'yyyy.mm.dd hh24 mi ss') from dual
截图: www.2cto.com
select to_date('2012.7.1 21:09:09','yyyy-mm-dd hh24 mi ss') from dual
截图:
除了时间的显示有些区别,其余的和上述所说原则一致。
五 项目中的应用
我们以前在java代码中对时间进行操作,其实我们完全可以交给sql语句进行操作
update student set birth = to_date(#birth#,"yyyy-mm-dd");
传来一个日期参数即可,就看你是带连接符的还是不带链接符的了。
Oracle时间处理有时候to_char和to_date两个比较关键的函数,在此总结一下:
一获取系统当前时间
select sysdate from dual;
二 to_char的用法
select to_char(sysdate,'yyyy.mm.dd') from dual
select to_char(sysdate,'yyyy-mm-dd') from dual
select to_char(sysdate,'yyyy mm dd') from dual
select to_char(sysdate,'yyyy*mm*dd') from dual
select to_char(sysdate,'yyyymmdd') from dual
只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以。我们可以把空格理解为一个空的连接符。
看一个连接符星号的截图:
三 to_date的用法
to_date的要求就稍微多了一点。
www.2cto.com
①带连接符
select to_date('2012.07.26','yyyy-mm-dd') from dual
select to_date('2012.07.26','yyyy.mm.dd') from dual
select to_date('2012.07.26','yyyy mm dd') from dual
select to_date('2012-07-26','yyyy-mm-dd') from dual
select to_date('2012-07-26','yyyy.mm.dd') from dual
select to_date('2012-07-26','yyyy mm dd') from dual
select to_date('2012.7.1','yyyy-mm-dd') from dual
select to_date('2012.7.1','yyyy.mm.dd') from dual
select to_date('2012.7.1','yyyy mm dd') from dual
所谓带连接符,就是我们to_date的第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。而且mm,dd不一定要对应位数。07可以对应mm,7同样可以对应mm。我们可以把空格理解为一个空的连接符。
②不带连接符
select to_date('20120726','yyyymmdd') from dual
select to_date('20120726','yyyy.mm.dd') from dual
select to_date('20120726','yyyy-mm-dd') from dual
不带连接符的必须一一位数对应,第二个字符串带不带连接符均可。07可以匹配mm,但7就不可以匹配mm
③①②中情况查出的结果都是带'-'的,无论有无连接符,连接符是什么。看截图:
四 带上时间的转换
select to_char(sysdate,'yyyy.mm.dd hh24 mi ss') from dual
截图: www.2cto.com
select to_date('2012.7.1 21:09:09','yyyy-mm-dd hh24 mi ss') from dual
截图:
除了时间的显示有些区别,其余的和上述所说原则一致。
五 项目中的应用
我们以前在java代码中对时间进行操作,其实我们完全可以交给sql语句进行操作
update student set birth = to_date(#birth#,"yyyy-mm-dd");
传来一个日期参数即可,就看你是带连接符的还是不带链接符的了。
相关文章推荐
- Oracle中TO_DATE 格式 to_char 日期格式
- Oracle中TO_DATE、TO_CHAR格式
- to_date 和 to_char 使用区别
- oracle数据库的 to_char 和to_date 区别
- to_date to_char 的用法及区别
- oracle数据库的 to_char 和to_date 区别
- Oracle中TO_DATE TO_CHAR 时间格式
- to_date与to_char的区别
- [置顶] Oracle日期格式化问题:to_date(sysdate,'yyyy-MM-dd')与 to_date(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd')区别
- Oracle中TO_DATE TO_CHAR格式
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- to_char,to_date,全套日期使用方法
- TO_CHAR(DATE,FORMAT)
- oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
- mysql相似于oracle的to_char() to_date()方法
- oracle 的to_char、to_number、to_date用法
- oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
- oracle数据库 中to_number、to_char、to_date用法介绍
- to_char跟to_date
- 模拟Oracle中的TO_CHAR()和TO_DATE