SQL中获取当前时间的函数、在日期上减去指定的天数的函数

本文介绍了在SQL中如何使用DATE_SUB和DATE_FORMAT函数来处理日期。通过DATE_SUB减去指定时间间隔,DATE_FORMAT则用于格式化当前时间。举例说明了一个CRM系统中回收超时线索的场景,演示了如何更新跟进时间使其符合回收条件。学习这两个函数有助于更高效地处理定时任务中的数据操作。
摘要由CSDN通过智能技术生成

记录一下今天学习的sql函数


背景

现在在做的项目有很多定时任务,需要定时处理满足条件的相关数据。在测试的时候我们一般是去修改数据库,使数据满足条件。比如,crm系统里的超时未跟进的线索会流回公海。
以前遇到这种要修改数据库的,我都是先对应的表筛选出指定的数据,在修改对应字段的值…(对,就是这么low,根本就忘了还有update这个东西)
在这里插入图片描述
下面就记录一下学到的两个sql函数:DATE_SUB(date,INTERVAL expr unit)函数,DATE_FORMAT(now(),format)函数;
然后再举例说明一下。

1.DATE_SUB(date,INTERVAL expr unit)函数

这个函数可以实现一个日期减去指定的数,对应的还有DATE_ADD(date,INTERVAL expr unit)函数,使一个日期加上指定的数。
date 表示要修改的日期;
interval 表示关键字;
exper 表示要增加或减去的数值;
unit 表示exper的单位;

2.DATE_FORMAT(now(),format)函数

这个函数可以获取到当前的时间。
now() 表示现在的时间,括号里不填参数;
format 表示获取到的时间,显示的格式可以是’%y-%m-%d %h:%i:%s’,即:年-月-日 时:分:秒

3.举个栗子

有一个crm的需求,跟进人最后跟进时间为上个月且没有签下订单的线索会被系统回收,然后再分配给其他人进行跟进。

也就是说当跟进人最后的跟进时间在上个月,就会对线索进行回收。
其中涉及的元素有:
跟进人最后的跟进时间,字段为follow_date,所属的表为chance;
现在的时间,可以用函数DATE_FORMAT(now(),‘%y-%m-%d %h:%i:%s’)

思路:follow_date = 现在时间 得到的值再让月份减去1

update
	chance
set
	follow_date = DATE_SUB(					#把DATE_SUB函数得到的日期赋值给follow_date
		DATE_FORMAT(
			now(),'%y-%m-%d %h:%i:%s',   # 获取当前的时间,格式为%y-%m-%d %h:%i:%s
			)
		INTERVAL 1 MONTH							 # 减去 1 ,1的单位为月
	)
where chance_id = #需要修改最后跟进时间的线索的id

总结

今天学习了两个函数:DATE_SUB(date,INTERVAL expr unit)函数,DATE_FORMAT(now(),format)函数;
可以嵌套这使用,可以构造出场景,去测试需要执行定时器才能处理一些数据的需求。

在这里插入图片描述

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值