SIGN() în MySQL

Funcții matematice MySQL 5.0+

Semnul unui număr: -1 (negativ), 0 sau 1 (pozitiv).

Sintaxă
SIGN(numar)

Ce face SIGN()

SIGN() este util pentru a clasifica valori (creștere, scădere, neschimbat) fără să contează mărimea.

Parametri

Parametru Descriere
numar Numărul.

Ce returnează

-1, 0 sau 1.

Exemple

Exemplul 1: Evoluția stocului

CREATE TABLE miscari (produs VARCHAR(10), diferenta INT);
INSERT INTO miscari VALUES ('Mouse', 12), ('Birou', -3), ('Scaun', 0);

SELECT produs, diferenta, ELT(SIGN(diferenta) + 2, 'scădere', 'neschimbat', 'creștere') AS evolutie
FROM miscari;

Rezultat

+--------+-----------+------------+
| produs | diferenta | evolutie   |
+--------+-----------+------------+
| Mouse  |        12 | creștere   |
| Birou  |        -3 | scădere    |
| Scaun  |         0 | neschimbat |
+--------+-----------+------------+

Greșeli frecvente

  • Folosești SIGN() ca să afli dacă o valoare e NULL. Pentru NULL, rezultatul este tot NULL.

Comenzi înrudite

  • ABS(): Valoarea absolută a unui număr (fără semn).
  • CASE: Alege o valoare în funcție de condiții, ca un if / else în interiorul interogării.