interval在SQL中的用法【MYSQL常用函数记录】

在SQL中,INTERVAL可以用作函数和关键字,具有不同的用途和语法。‌‌

作为函数

INTERVAL用作函数时,它主要用于比较操作。例如,INTERVAL(66,10,11,12,13,14,51,86)会将第一个数66与后面的数依次进行比较,返回小于等于66的个数,结果是6。需要注意的是,只有将后面的数字从小到大排列,INTERVAL函数才能正常使用

因为interval在找到第一个比他大的数之后,就会停止统计,直接返回结果】。

作为关键字

INTERVAL用作关键字时,它表示时间间隔,常用于DATE_ADD()DATE_SUB()函数中,用于时间的加减法。例如:

SELECT DATE_ADD('2020-07-20', INTERVAL +1 DAY); 将返回2020-07-21。
SELECT DATE_ADD('2020-07-20', INTERVAL +1 HOUR); 将返回2020-07-20 01:00:00。

语法和示例

在SQL中,INTERVAL函数可以用于添加或减去特定的时间间隔。其基本语法如下

SELECT field1, field2, ... FROM table_name WHERE condition INTERVAL value unit

其中,value表示要添加或减去的时间值,unit表示时间单位(如YEAR、MONTH、DAY、HOUR、MINUTE、SECOND等)。例如,要查询比当前日期早3个月的记录,可以使用以下语句:

SELECT * FROM orders WHERE order_date < NOW() - INTERVAL 3 MONTH

这将返回订单日期在当前日期之前3个月的所有记录。

SELECT count(1) FROM sales_order WHERE NOW() - INTERVAL 2 month <create_time and create_time < NOW() - INTERVAL 1 month ;

 这将返回 距今2月到距今1月的订单量

不同数据库系统的支持情况

不同的数据库系统对INTERVAL函数的支持程度有所不同。例如,MySQL、PostgreSQL等数据库系统都支持INTERVAL用于日期和时间的加减操作,但在具体实现和语法上可能有所不同。因此,在使用时建议查看具体数据库的文档。

===============================================

COALESCE函数在MySQL中用于返回参数列表中的第一个非NULL值。如果所有参数都是NULL,则返回NULL。

SELECT COALESCE(NULL, 5, 10); -- 结果为5
SELECT COALESCE(NULL, NULL, 'Hello'); -- 结果为'Hello'
SELECT COALESCE(NULL, NULL, NULL); -- 结果为NULL

 ‌COALESCE函数可以和别的函数一起使用

SELECT COALESCE(SUBSTRING(column1, 1, 3), '默认值') FROM table_name; -- 如果截取结果为空字符串,则返回'默认值'

也可以用于数量的累加

SELECT id, name, COALESCE(math_score, 0) + COALESCE(english_score, 0) + COALESCE(history_score, 0) AS total_score FROM student_scores;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值