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