MySQL之MySQL函数

1、DATE_SUB() 
函数从日期减去指定的时间间隔。
mysql中内置函数date_add和date_sub能对指定的时间进行增加或减少一个指定的时间间隔


语法
DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔

eg:SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders
py:select * from table where ip = 192.168.10.10 and DATE_SUB(CURDATE(), INTERVAL ' + str(days) +  ' DAY) <= date(date);

2、TO_DAYS()
mysql> SELECT TO_DAYS('2008-10-07'), TO_DAYS('08-10-07');
        -> 733687, 733687
//https://www.cnblogs.com/qcxdoit/p/7085799.html

3、DATEDIFF()
函数返回两个日期之间的天数
SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate   result:1

Example

1、根据某一时间字段查询最近七天的数据,并按天分组

SELECT
	DATE_FORMAT(published_date, '%Y-%m-%d' ) days,
	count(*) count 
FROM
(
SELECT
	nvd.* 
FROM
	nvd_jsons nvd
	LEFT JOIN main.vulnerability vul ON nvd.cve_id = vul.cve_id
	LEFT JOIN cve.cpes ON nvd.id = cpes.nvd_json_id
	LEFT JOIN cve.cwes ON nvd.id = cwes.nvd_json_id
	LEFT JOIN cwe.cwe_data ON cwes.cwe_id = cwe_data.cwe_id
	LEFT JOIN cve.cvss3 ON nvd.id = cvss3.nvd_json_id
	LEFT JOIN cve.descriptions des ON nvd.id = des.nvd_json_id
WHERE
  vul.cve_id IS NULL AND
	DATE_SUB(CURDATE(), INTERVAL 7 DAY ) <= date(nvd.published_date) ORDER BY nvd.published_date
	)  as n
	
	GROUP BY
	days;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值