sql >> Database >  >> RDS >> MariaDB

Hoe SIGN() werkt in MariaDB

In MariaDB, SIGN() is een ingebouwde functie die het teken van zijn argument retourneert als -1 , 0 , of 1 , afhankelijk van of het argument negatief, nul of positief is.

Syntaxis

De syntaxis gaat als volgt:

SIGN(X)

Waar X is de waarde waarvoor het teken moet worden geretourneerd.

Voorbeeld 1

Hier is een voorbeeld om te demonstreren:

SELECT SIGN(9);

Resultaat:

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

In dit voorbeeld is de waarde positief, en dus 1 wordt geretourneerd.

Voorbeeld 2

Hier zijn nog enkele waarden om de mogelijke outputs te demonstreren:

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

Resultaat:

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

Niet-numerieke argumenten

Hier is een voorbeeld van wat er gebeurt als we niet-numerieke argumenten geven:

SELECT SIGN('Nine');

Resultaat:

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

Laten we eens kijken naar de waarschuwing:

SHOW WARNINGS;

Resultaat:

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

Nullargument

SIGN() retourneert null als het argument null is :

SELECT SIGN(null);

Resultaat:

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

Onjuist aantal parameters

SIGN() . aanroepen met het verkeerde aantal argumenten, of zonder argumenten resulteert in een fout:

SELECT SIGN();

Resultaat:

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

En:

SELECT SIGN(10, 2);

Resultaat:

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

  1. Hoe vervang ik een nieuwe regel in Oracle?

  2. Rijwaarden samenvoegen T-SQL

  3. tomcat7 - jdbc datasource - Dit zal zeer waarschijnlijk een geheugenlek veroorzaken

  4. Basisbeheer van Oracle 12c Multitenant