Функция SIGN
Функция SIGN определяет знак числа.
Если число больше нуля - функция вернет 1,
если меньше нуля - вернет -1, а если
равно нулю - вернет 0.
Синтаксис
SELECT SIGN(field) FROM table_name WHERE condition
Таблица для примеров
| id | date | temperature |
|---|---|---|
| 1 | 2010-06-01 | 25 |
| 2 | 2010-11-01 | 0 |
| 3 | 2010-12-01 | -25 |
Пример
Давайте определим знак температуры при выборке данных:
SELECT *, SIGN(temperature) AS sign FROM weather
Результат выполнения кода:
| id | date | temperature | sign |
|---|---|---|---|
| 1 | 2010-06-01 | 25 | 1 |
| 2 | 2010-11-01 | 0 | 0 |
| 3 | 2010-12-01 | -25 | -1 |
Меняем таблицу для примеров
Давайте будем хранить в таблице знак температуры вместо её числового значения:
| id | date | sign |
|---|---|---|
| 1 | 2010-12-01 | -1 |
| 2 | 2010-11-01 | 0 |
| 3 | 2010-06-01 | 1 |
Пример
Давайте при вставке данных автоматически вычислим знак температуры:
INSERT INTO weather SET date='2010-12-02', sign=SIGN(-30)
Результат выполнения кода:
| id | date | sign |
|---|---|---|
| 1 | 2010-12-01 | -1 |
| 2 | 2010-11-01 | 0 |
| 3 | 2010-06-01 | 1 |
| 4 | 2010-12-02 | -1 |
Смотрите также
-
функцию
ABS,
которая находит модуль числа