比较运算符要点
- 相等用 =,不相等用 !=,两者方向一致但符号不同
- BETWEEN 小值 AND 大值 表示落在闭区间,含两端
- IN (值1, 值2) 判断是否属于集合,NOT IN 取反
- LIKE '%关键字%' 做模糊匹配,% 匹配任意长度
- IS NULL / IS NOT NULL 才是判断空值的正解,= NULL 永远返回 NULL
- 存在一种 NULL 安全相等比较,两侧都为空时也判为真
比较运算符示例
SELECT 2 = 3; -- 0(假)
SELECT 2 != 3; -- 1(真)
SELECT 5 BETWEEN 1 AND 10; -- 1
SELECT 5 IN (1, 2, 3, 4, 5); -- 1
SELECT '12345' LIKE '12%'; -- 1
SELECT 'beijing' REGEXP 'jing'; -- 1
SELECT NULL = NULL; -- NULL(普通等号判不出空)
SELECT 'a' IS NOT NULL; -- 1
避坑提醒:想判断『两个值是否都为空也算相等』,要用 NULL 安全相等比较(普通等号做不到)。但更常见的需求只是 IS NULL,别把两者搞混。