mysql 一个时间字段加上一个int 字段 DATE_AD
2022-06-07 本文已影响0人
Rinaloving
需求: 到期前多少天发送一个通知,其中到期时间一个字段,前几天(动态)通知一个字段,需要一条sql查出来
物品到期.png核心:
DATE_ADD(NOW(),INTERVAL CONVERT(nTips,UNSIGNED INTEGER) DAY)
说明:
函数 date_add(日期,interval 1 day); // 日期添加一天
函数 CONVERT(字段,UNSIGNED INTEGER) // 字段转化为int类型
示例:
SELECT sName,tGoodsValidity,nTips FROM `TbGoods` WHERE DATE_FORMAT(tGoodsValidity,'%Y-%m-%d') = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL CONVERT(nTips,UNSIGNED INTEGER) DAY),'%Y-%m-%d')
查询结果.png
补充:
如果是时间往前推
DATE_ADD(NOW(),INTERVAL -CONVERT(nTips,UNSIGNED INTEGER) DAY)
定义和用法
DATE_ADD() 函数向日期添加指定的时间间隔。
语法
DATE_ADD(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
Type 值 | 备注 |
---|---|
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 |