You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL日期日值比较及数值间隔函数技术咨询

问题2:MySQL判断数值相等或相差1的通用方法

MySQL没有专门的内置函数干这个,但实现起来超简单,有两种常用方式:

方式1:直接写表达式(推荐,无需额外操作)

直接用绝对值差值判断是否为0或1就行,这个表达式会返回布尔值(1为真,0为假),可以直接用在WHERE条件或CASE语句里:

-- 假设要比较的两个数值是num1和num2
ABS(num1 - num2) IN (0, 1)

方式2:创建自定义函数(适合频繁使用的场景)

如果业务里经常需要做这个判断,可以自己封装一个函数:

DELIMITER //
CREATE FUNCTION is_equal_or_diff_one(num1 INT, num2 INT) RETURNS BOOLEAN
BEGIN
  RETURN ABS(num1 - num2) IN (0, 1);
END //
DELIMITER ;

之后就像用内置函数一样调用:

SELECT is_equal_or_diff_one(5,6); -- 返回1
SELECT is_equal_or_diff_one(5,7); -- 返回0

内容的提问来源于stack exchange,提问作者SS360

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:14:14