sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer SIGN() i MariaDB

I MariaDB, SIGN() er en indbygget funktion, der returnerer tegnet for sit argument som -1 , 0 eller 1 , afhængigt af om argumentet er negativt, nul eller positivt.

Syntaks

Syntaksen ser sådan ud:

SIGN(X)

Hvor X er den værdi, som tegnet skal returneres for.

Eksempel 1

Her er et eksempel til demonstration:

SELECT SIGN(9);

Resultat:

+---------+
| SIGN(9) |
+---------+
|       1 |
+---------+

I dette eksempel er værdien positiv, og så 1 er returneret.

Eksempel 2

Her er nogle flere værdier for at demonstrere de mulige output:

SELECT 
    SIGN(8),
    SIGN(-8),
    SIGN(0);

Resultat:

+---------+----------+---------+
| SIGN(8) | SIGN(-8) | SIGN(0) |
+---------+----------+---------+
|       1 |       -1 |       0 |
+---------+----------+---------+

Ikke-numeriske argumenter

Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:

SELECT SIGN('Nine');

Resultat:

+--------------+
| SIGN('Nine') |
+--------------+
|            0 |
+--------------+
1 row in set, 1 warning (0.000 sec)

Lad os se advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' |
+---------+------+------------------------------------------+

Nul-argument

SIGN() returnerer null hvis dets argument er null :

SELECT SIGN(null);

Resultat:

+------------+
| SIGN(null) |
+------------+
|       NULL |
+------------+

Forkert parameterantal

Kalder SIGN() med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:

SELECT SIGN();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'

Og:

SELECT SIGN(10, 2);

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'

  1. Grundlæggende om fremmednøgler i MySQL?

  2. Bruger du navngivne forekomster? Test din DAC-forbindelse!

  3. Hvordan ved man, at den installerede Oracle Client er 32 bit eller 64 bit?

  4. IGNORE_DUP_KEY langsommere på klyngede indekser