度量快速开发平台-专业、快速的软件定制快开平台

标题: oracle中 to_char()与to_date()对时间操作的用法总结 [打印本页]

作者: 张兴康    时间: 2020-4-13 14:31
标题: 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的用法
①带连接符
select to_date('2016.05.13','yyyy-mm-dd') from dual
select to_date('2016.05.13','yyyy.mm.dd') from dual
select to_date('2016.05.13','yyyy mm dd') from dual
select to_date('2016-05-13','yyyy-mm-dd') from dual
select to_date('2016-05-13','yyyy.mm.dd') from dual
select to_date('2016-05-13','yyyy mm dd') from dual
select to_date('2016.5.13','yyyy-mm-dd') from dual
select to_date('2016.5.13','yyyy.mm.dd') from dual
select to_date('2016.5.13','yyyy mm dd') from dual
所谓带连接符,就是我们to_date的第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。而且mm,dd不一定要对应位数。05可以对应mm,5同样可以对应mm



②不带连接符
select to_date('20160513','yyyymmdd') from dual
select to_date('20160513','yyyy.mm.dd') from dual
select to_date('20160513','yyyy-mm-dd') from dual
不带连接符的必须一一位数对应,第二个字符串带不带连接符均可。05可以匹配mm,但5就不可以匹配mm



--带上时间的转换
select to_char(sysdate,'yyyy.mm.dd hh24 mi ss') from dual
select to_date('2016.5.13 13:09:09','yyyy-mm-dd hh24 mi ss') from dual



作者: 万望    时间: 2020-4-15 14:31
经常用到,
作者: 万望    时间: 2020-4-15 14:32

作者: 张兴康    时间: 2020-4-16 14:17
万望 发表于 2016-5-15 14:32


作者: 万望    时间: 2020-4-16 17:16
细节到位了撒,oracle数据库的日期和日期时间类型格式是什么?一直都晕晕的感觉
作者: 陈晓龙    时间: 2020-4-16 17:19
不错,很详细!
作者: 张兴康    时间: 2020-4-17 14:17
陈晓龙 发表于 2016-5-16 17:19
不错,很详细!


作者: 张兴康    时间: 2020-4-17 14:18
万望 发表于 2016-5-16 17:16
细节到位了撒,oracle数据库的日期和日期时间类型格式是什么?一直都晕晕的感觉

点评到位了撒
作者: 陈晓龙    时间: 2020-4-17 16:21
张兴康 发表于 2016-5-17 14:17


作者: 张兴康    时间: 2020-4-18 14:09
陈晓龙 发表于 2016-5-17 16:21






欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2