I PostgreSQL er sign()
funktion bruges til at indikere tegnet på dets argument.
Det returnerer ikke blot det faktiske tegn. Det returnerer snarere -1 for negative tal, 0 for nul og 1 for positive tal.
Syntaks
Syntaksen ser sådan ud:
sign(dp or numeric)
Hvor dp
er en dobbelt præcisionsværdi.
Eksempel 1 – Positivt tal
Sådan fungerer det, når du angiver et positivt tal.
SELECT sign(552);
Resultat:
1
I dette tilfælde er mit argument et positivt tal og derfor sign()
returnerer 1
.
Eksempel 2 – Negativt tal
Og her er, hvad der sker, hvis jeg tilføjer et negativt fortegn til det tal.
SELECT sign(-552);
Resultat:
-1
Eksempel 3 – Nul
Og her er, hvad der sker, hvis jeg sender nul til funktionen.
SELECT sign(0);
Resultat:
0
Eksempel 4 – Brøkdele sekunder
Det er lige meget, om dit argument er et helt tal, eller om det består af brøkdele sekunder, resultatet er det samme.
SELECT
sign(0.552),
sign(0.0),
sign(-0.552);
Resultat:
sign | sign | sign ------+------+------ 1 | 0 | -1
Eksempel 5 – Udtryk
Du kan også angive udtryk, såsom følgende.
SELECT sign(12 * -0.552);
Resultat:
-1