日期转换函数

--时间格式
  --yyyy-MM-dd HH:mi:ss
  --HH默认24小时制 1-23:59:59
  --HH12表示12小时制 1-12

--to_char()将日期转换成字符串
  select sysdate from dual;
  select to_char(sysdate,‘yyyy-MM-dd HH:mi:ss‘) from dual;

--to_date()将字符串转换成日期
  select to_date(‘2017-11-2‘,‘yyyy-MM-dd HH:mi:ss‘) from dual;

  select * from ttt_demo01;
  insert into ttt_demo01
values(102,‘scott‘,200.99,to_date(‘1992-11-2‘,‘yyyy-MM-dd HH:mi:ss‘));

--转换含有数字的字符串
  select to_number(‘1233.456‘) from dual;

  SELECT TO_TIMESTAMP(‘2016-12-12 12:23:34‘,
‘YYYY-MM-DD HH:MI:SS‘) FROM DUAL;
--添加了时区
  SELECT TO_TIMESTAMP_TZ(‘2016-12-12 12:23:34 8:00‘, ‘YYYY-MM-DD HH24:MI:SS
TZH:TZM‘) FROM DUAL;

---日期操作函数*****

--截取目标日期里的时间,比如获取当前系统时间的年、月、日
--注意在截取当前系统时间的年月日,可以直接写成 year/month/day from sysdate
--但是hour minute second不可以这么写,需要先转换成字符串,再转换成日期
  select extract( year from sysdate) from dual;
  select extract( month from sysdate) from dual;
  select extract( day from sysdate) from dual;

  select extract( second from
to_timestamp(to_char(sysdate,‘YYYY-MM-DD HH24:MI:SS‘),‘YYYY-MM-DD HH24:MI:SS‘))
from dual;

  select extract(hour from
TO_TIMESTAMP(‘2016-12-12 12:23:34‘, ‘YYYY-MM-DD HH24:MI:SS‘)) from dual;
  select extract(minute from TO_TIMESTAMP(‘2016-12-12 12:23:34‘, ‘YYYY-MM-DD
HH24:MI:SS‘)) from dual;
  select extract(second from TO_TIMESTAMP(‘2016-12-12 12:23:34‘, ‘YYYY-MM-DD
HH24:MI:SS‘)) from dual;

--计算月差:两个日期之间相差的月数
--注意:计算结果是第一个参数减第二个参数
  select months_between(sysdate,to_date(‘1995-11-11‘,‘YYYY-MM-DD HH:mi:ss‘))from
dual;

  select months_between
  (to_date(‘1980-11-1‘,‘YYYY-MM-DD HH:mi:ss‘),
  to_date(‘1995-11-11‘,‘YYYY-MM-DD HH:mi:ss‘))from dual;

--添加月数
  select add_months(sysdate,2)from dual;
  select add_months(to_date(‘2017-11-1‘,‘YYYY-MM-DD HH:mi:ss‘),-13)from dual;

--获取当前系统时间以后的时间(星期)
--一周的组合以下周的日期(本周已过的日期或者正在过的日期)
--和本周的日期(本周还未过的日期)加起来
  select next_day(sysdate,‘Monday‘) from dual;--下周一
  select next_day(sysdate,‘Tuesday‘) from dual;--下周二
  select next_day(sysdate,‘Wednesday‘) from dual;--下周三
  select next_day(sysdate,‘Thursday‘) from dual;--本周四
  select next_day(sysdate,‘Friday‘) from dual;--本周五
  select next_day(sysdate,‘Saturday‘) from dual;--本周六
  select next_day(sysdate,‘Sunday‘) from dual;--本周日

--每个月的最后一天
  select last_day(sysdate)from dual;
  select last_day(to_date(‘2016-2-1‘,‘YYYY-MM-DD‘))from dual;

--对日期的四舍五入
  select round(sysdate,‘year‘) from dual;
  select round(sysdate,‘month‘) from dual;

--对年的四舍五入 分界点是6月和7月
  select round(to_date(‘2017-6-1‘,‘YYYY-MM-DD‘),‘year‘) from dual;
  select round(to_date(‘2017-7-1‘,‘YYYY-MM-DD‘),‘year‘) from dual;

--对月的四舍五入 分界点是15日和16日
  select round(to_date(‘2017-6-1‘,‘YYYY-MM-DD‘),‘month‘) from dual;
  select round(to_date(‘2017-6-15‘,‘YYYY-MM-DD‘),‘month‘) from dual;
  select round(to_date(‘2017-6-16‘,‘YYYY-MM-DD‘),‘month‘) from dual;

  select
round(to_date(‘2016-2-15‘,‘YYYY-MM-DD‘),‘month‘) from dual;
  select round(to_date(‘2016-2-16‘,‘YYYY-MM-DD‘),‘month‘) from dual;

--截取日期
--此处的day表示星期几
--获取离当前时间最近的星期日(已经过了的)
  select trunc(sysdate,‘day‘)from dual;

--获取年初
  select trunc(to_date(‘2017-5-5‘,‘yyyy-MM-dd‘),‘year‘)from dual;
  select trunc(to_date(‘2016-5-5‘,‘yyyy-MM-dd‘),‘year‘)from dual;

原文地址:https://www.cnblogs.com/chen8023miss/p/11229651.html

时间: 2024-11-06 14:01:01

日期转换函数的相关文章

Mysql日期转换函数、时间转换函数

Mysql日期转换函数.时间转换函数 一.MySQL 获得当前日期时间 函数 1,获得当前日期+时间(date + time)函数:now(): select now(); 结果:2008-08-08 22:20:46 2,获得当前日期+时间(date + time)函数:sysdate()sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值: select sysdate(); 结果:2008-08

hive日期转换函数2

转自大神 http://www.oratea.net/?p=944 无论做什么数据,都离不开日期函数的使用. 这里转载一下Hive的日期函数的使用,写的相当完整. 日期函数UNIX时间戳转日期函数: from_unixtime语法:from_unixtime(bigint unixtime[, string format]) 返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive> select fr

hive中的日期转换函数

1.unix时间戳转时间函数   语法: from_unixtime(bigintunixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式 举例: hive>selectfrom_unixtime(1323308943,'yyyyMMdd')fromdual; 20111208 2.获取当前时区的unix时间戳 ? 1 2 3 4 5 6 7 8 9 10 语法

JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outils 的基础上,加上个人平时收集的代码片段进行的二次整合 Browser Support 7+ ? Latest ? Latest ? Latest ? Latest ? 6.1+ ? Installing npm install bes-jstools --save Using nodejs con

Oracle中日期转换函数

TO_DATE TO_DATE(char[,fmt[nlsparams]]) char:要转换的字符串 fmt:格式 nlsparams:指定日期语言 例如:查询2002年以后入职的员工: select * from emp where hiredate>to_date('2002-01-01','YYYY-MM-DD'); 常见日期格式见下表: YY:2位数字年份 YYYY:4位数字年份 MM:2位数字月份 MON:简拼的月份 MONTH:全拼的月份 DD:2位数字的天 DY:周几的缩写 DA

php中日期转换函数

<?php $stampmebaby = microtime(); $chunks = explode(" ", $stampmebaby); $microseconds = $chunks[0]; echo $microseconds; ?> <?php echo date('Y-m-d'); echo date('Y-m-d H:i:s'); ?>

内置函数:时间函数,转换函数,字符串函数

dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期, 数值) last_dey 作用:取当时间前月的最后一天,可以跟其他函数关联使用 写法:last_day(日期) 转换函数 to_daet 作用:把特定格式的字符串转换成日期型数据 写法:to_date('字符串', 'yyyy-mm-dd hh24:mi:ss') 字符串的格式要符合格式符的要求

AngularJS:日期转换字符

JS有很多类库提供日期转换函数,AngularJS也不例外.可以通过$filter来完成转换,方法如下: $filter('date')(sourceDate, "yyyy/MM/dd") // yyyy/MM/dd指定转换的格式 So easy. AngularJS:日期转换字符

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