意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

mysql Oracle常用时间处理

来源:恒创科技 编辑:恒创科技编辑部
2024-02-04 21:10:59
DATE_ADD() 函数向日期添加指定的时间间隔。
DATE_ADD(date,INTERVAL expr type)

date参数是合法的日期表达式。expr参数是您希望添加的时间间隔。

type 参数可以是下列值:

Type 值


mysql Oracle常用时间处理

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

SECOND_MICROSECOND

MINUTE_MICROSECOND

MINUTE_SECOND

HOUR_MICROSECOND

HOUR_SECOND

HOUR_MINUTE

DAY_MICROSECOND

DAY_SECOND

DAY_MINUTE

DAY_HOUR

YEAR_MONTH

例子:

OrderId

ProductName

OrderDate

1

'Computer'

2008-12-29 16:25:46.635

SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders

结果:

OrderId

OrderPayDate

1

2008-12-31 16:25:46.635

STR_TO_DATE(str,format)这是DATE_FORMAT()函数的逆函数
mysql>('04/31/2004','%m/%d/%Y');+---------------------------------------------------------+|('04/31/2004','%m/%d/%Y')|+---------------------------------------------------------+|2004-04-31|+---------------------------------------------------------+1inset(0.00)


sdfsdf
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据
DATE_FORMAT(date,format)
实例

下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
查询当前时间年月日时分秒

select now()

查询当前时间前三小时的时间点

select subdate(now(),interval 3 hour);

查询当前时间前三天的时间点

select subdate(now(),interval 3 day);

查新当前时间前三分钟的时间点 select subdate(now(),interval 3 minute);查询当前时间时分秒select current_time();查询当前时间年月日select current_date();获取本月最后一天select last_day(curdate());获取本月第一天

select date_add(curdate(), interval - day(curdate()) + 1 day);

获取下个月第一天

select date_add(curdate() - day(curdate()) + 1, interval 1 month);

获取本月天数

select day(last_day(curdate()));

获取一个月前的今天【2018年的2月只有28天】

select date_sub(curdate(), interval 1 month);

获取两个月前的今天

select date_sub(curdate(), interval 2 month);

获取当前时间【当前月的第几天】

select datediff(curdate(), date_sub(curdate(), interval 1 month));

补充Oracle 时间处理:

select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual;

select to_char(sysdate, 'yyyy' ) from dual; --年
select to_char(sysdate, 'MM' ) from dual; --月
select to_char(sysdate, 'dd' ) from dual; --日
select to_char(sysdate, 'Q') from dual; --季
select to_char(sysdate, 'iw') from dual; --周--按日历上的那种,每年有52或者53周

  当前时间减去7分钟的时间
   select sysdate,sysdate - interval '7' MINUTE from dual;
  当前时间减去7小时的时间
   select sysdate - interval '7' hour from dual;
  当前时间减去7天的时间
   select sysdate - interval '7' day from dual;
  当前时间减去7月的时间
   select sysdate,sysdate - interval '7' month from dual;
  当前时间减去7年的时间
   select sysdate,sysdate - interval '7' year from dual;
  时间间隔乘以一个数字
   select sysdate,sysdate - 8*interval '7' hour from dual;

//获取当年的一月一号
to_date(concat((select to_char(sysdate,'yyyy') from dual), '-01-01 00:00:00'),'yyyy-MM-dd HH24:mi:ss') //date格式
//获取这个月的一月一号
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL; //date格式
SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1,'yyyy-mm-dd HH24:mi:ss') FROM DUAL; //char格式


我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。



上一篇: easyUI 常见问题点 下一篇: 手机怎么远程登录云服务器?