Функция SIGN определяет знак числа. Если число больше нуля - функция вернет 1, если меньше нуля - вернет -1, а если равно нулю - вернет 0.

См. также функцию ABS, которая находит модуль числа (из отрицательного делает положительное).

Синтаксис

SELECT SIGN(поле) FROM имя_таблицы WHERE условие

Примеры

Все примеры будут по этой таблице weather, если не сказано иное:

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

SQL запрос выберет следующие строки:

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)

SQL запрос выберет следующие строки:

id
айди
date
дата
sign
знак температуры
1 2010-12-01 -1
2 2010-14-01 0
3 2010-06-01 1
4 2010-12-02 -1