Sql中TO_DAYS,DATE_SUB等时间函数介绍

TO_DAYS

TO_DAYS(date) 给定一个日期date, 返回一个天数(从年份0开始的天数)。

1.获取当天的数据:TO_DAYS(o.gmt_created) = TO_DAYS(NOW())

SELECT
  o.id,
	o.gmt_created
FROM
	`order` o
WHERE
TO_DAYS(o.gmt_created) = TO_DAYS(NOW())

在这里插入图片描述

o.gmt_created:数据库中存创建时间的字段,now()表示当前的时间
TO_DAYS(now()): 返回从年份0开始到now()现在的一个天数

获取当前时间

curdate(): 获取当前的年月日

date():提取日期或日期/时间表达式的日期部分

curtime(): 获取当前的时分秒

now(): 获取当前的日期和时间,now()取的是语句开始执行的时间。

sysdate():获取当前的日期和时间,sysdate()取的是动态的实时时间。
在这里插入图片描述

DATE_SUB(date,INTERVAL expr type)函数

data:时间

expr:间隔的天数或者年 向前间隔时正数 向后间隔时负数

type:可以是年 月 日

1.订单创建时间提前1天

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL 1 day)
FROM
	`order` o

在这里插入图片描述

2.订单创建时间推后1天

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL -1 day)
FROM
	`order` o

在这里插入图片描述

3.订单创建时间提前1个月

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL 1 month)
FROM
	`order` o

在这里插入图片描述

4.订单创建时间推后1个月

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL -1 month)
FROM
	`order` o

在这里插入图片描述

5.订单创建时间提前1年

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL 1 year)
FROM
	`order` o

在这里插入图片描述

5.订单创建时间推后1年

SELECT
  o.id,
	o.gmt_created,
  DATE_SUB(o.gmt_created,INTERVAL -1 year)
FROM
	`order` o

在这里插入图片描述

DATEDIFF() 函数

datediff() 函数返回两个日期之间的天数。
datediff(startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。(注意,第二个日期比第一个日期晚,结果将是一个负数)

SELECT
  o.id,
	o.gmt_created,
	o.gmt_issue_ticket,
  datediff(NOW(),o.gmt_issue_ticket)
FROM
	`order` o
WHERE o.id = 60166359

在这里插入图片描述

ADDDATE()函数

ADDDATE(date,INTERVAL expr unit)
当第二个参数是INTERVAL 格式, ADDDATE() 就是DATE_ADD() 的同义词。相关函数SUBDATE() 则是DATE_SUB() 的同义词。对于INTERVAL 参数上的信息介绍如下:
data: 时间
expr: 间隔的天数或者年 向前间隔时正数 向后间隔时负数
unit: 可以是年 月 日等

SELECT
  o.id,
	o.gmt_created,
	adddate(o.gmt_created,INTERVAL 31 day)
FROM
	`order` o
WHERE o.id = 60166359

在这里插入图片描述

SELECT
  o.id,
	o.gmt_created,
	date_add(o.gmt_created,INTERVAL 31 day)
FROM
	`order` o
WHERE o.id = 60166359

在这里插入图片描述

ADDDATE(expr,days)
若 days 参数只是整数值,则 MySQL 5.1 将其作为天数值添加至 expr 。

SELECT
  o.id,
	o.gmt_created,
	adddate(o.gmt_created,31)
FROM
	`order` o
WHERE o.id = 60166359

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值