MariaDB SIGN() 函数的基础用法与实例

MariaDB SIGN() 函数用来返回一个数字的符号。正数返回 1,负数返回 -1,0 返回 0。

发布于

MariaDB SIGN() 函数用来返回一个数字的符号。正数返回 1,负数返回 -1,0 返回 0。此函数常用于确定一个数字的正负号,以便进行相应的操作或计算。

语法

MairaDB SIGN() 函数的语法如下:

SIGN(X)
  • X 是需要计算符号的数字表达式。

返回值为整数,表示输入数字的符号,可能的值为 1、0 或 -1。

实例

使用 SIGN() 函数检测正数、负数和零

本实例将使用 SIGN() 函数检测三个不同的数值,分别是正数、负数和零,并输出它们的符号。

SELECT SIGN(99) AS 'Positive Number',
       SIGN(-23) AS 'Negative Number',
       SIGN(0) AS 'Zero';

以下是该语句的输出:

+----------------+----------------+------+
| Positive Number| Negative Number| Zero |
+----------------+----------------+------+
|               1|              -1|    0 |
+----------------+----------------+------+

输出结果显示,99 为正数,其符号为 1;-23 为负数,其符号为 -1;0 的符号为 0。

使用 SIGN() 函数检测表达式的符号

本实例将使用 SIGN() 函数检测一个算术表达式的符号。

SELECT SIGN(5 - 10) AS 'Expression';

以下是该语句的输出:

+------------+
| Expression |
+------------+
|          -1|
+------------+

输出结果显示,表达式 5 - 10 的结果为负数,因此其符号为 -1。

使用 SIGN() 函数过滤查询结果

本实例将创建一个表,并使用 SIGN() 函数过滤查询结果,只返回正数记录。

DROP TABLE IF EXISTS numbers;
CREATE TABLE numbers (num INT);
INSERT INTO numbers VALUES (10), (-5), (0), (25), (-15);

SELECT num
FROM numbers
WHERE SIGN(num) = 1;

以下是该语句的输出:

+------+
| num  |
+------+
|   10 |
|   25 |
+------+

输出结果只包含正数记录,因为 WHERE 子句使用 SIGN(num) = 1 作为条件,只有正数的符号为 1 才会被包含在结果集中。

结合 CASE 表达式使用 SIGN() 函数

本实例将结合 CASE 表达式使用 SIGN() 函数,根据数字的符号返回不同的字符串。

SELECT num,
       CASE SIGN(num)
         WHEN 1 THEN 'Positive'
         WHEN 0 THEN 'Zero'
         WHEN -1 THEN 'Negative'
       END AS 'Number Sign'
FROM numbers;

以下是该语句的输出:

+------+-------------+
| num  | Number Sign |
+------+-------------+
|   10 | Positive    |
|   -5 | Negative    |
|    0 | Zero        |
|   25 | Positive    |
|  -15 | Negative    |
+------+-------------+

输出结果根据每个数字的符号返回对应的字符串描述。

使用 SIGN() 函数确定绝对值

本实例将使用 SIGN() 函数结合其他函数确定一个数字的绝对值。

SELECT num,
       ABS(num) AS 'Absolute Value',
       IF(SIGN(num) = -1, -ABS(num), ABS(num)) AS 'With Sign'
FROM numbers;

以下是该语句的输出:

+------+---------------+------------+
| num  | Absolute Value| With Sign  |
+------+---------------+------------+
|   10 |             10|          10|
|   -5 |              5|          -5|
|    0 |              0|           0|
|   25 |             25|          25|
|  -15 |             15|         -15|
+------+---------------+------------+

输出结果包含每个数字的绝对值,以及结合符号的值。如果数字为负数,则使用 -ABS(num) 得到负值;如果数字为正数或零,则直接使用 ABS(num) 得到正值或零。

相关函数

以下是几个与 MairaDB SIGN() 相关的几个函数:

  • MariaDB ABS() 函数用来返回一个数字的绝对值。
  • MariaDB GREATEST() 函数用来返回一组数字中的最大值。
  • MariaDB LEAST() 函数用来返回一组数字中的最小值。
  • MariaDB ROUND() 函数用来对一个数字进行四舍五入。
  • MariaDB TRUNCATE() 函数用来截断一个数字到指定的小数位数。

结论

MariaDB SIGN() 函数是一个非常实用的函数,可以方便地确定一个数字的符号。它常常与其他函数或表达式结合使用,用于各种数据处理和计算任务。通过本文介绍的实例,您应该能够掌握使用 SIGN() 函数的基本方法,并可以根据自己的需求进行相应的扩展和应用。