首页/数据/SQL 速查/ABS / SIGN 绝对值与符号
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条
函数速查60 条
变更与事务52 条性能与执行计划72 条

ABS / SIGN 绝对值与符号

取绝对值与判断正负:误差比较、金额方向、变动幅度计算的基础函数;SIGN 返回 -1、0、1。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT ABS(-3.5);            -- 3.5
SELECT SIGN(-12), SIGN(0), SIGN(7);  -- -1, 0, 1

-- 浮点误差容忍比较
SELECT * FROM metrics
WHERE ABS(target - actual) < 0.001;
ABS对数值取绝对值;字符串会先隐式转数值(MySQL)
SIGN返回 -1/0/1;MySQL 中 NULL 输入返回 NULL
用途方向判定、阈值比较、生成涨跌标记

易错点

  • 浮点相等比较一律失败率极高,用 ABS(a-b) < 容差 替代 a = b
  • PostgreSQL 里把文本列传给 SIGN 会报类型错误(不像 MySQL 隐式转换),先显式 CAST

数据来源与参考

  • MySQL 8.0 Reference Manual · Mathematical Functions
  • PostgreSQL Documentation · Mathematical Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌