W PostgreSQL sign() funkcja służy do wskazania znaku swojego argumentu.
Nie zwraca po prostu rzeczywistego znaku. Zwraca raczej -1 dla liczb ujemnych, 0 dla zera i 1 dla liczb dodatnich.
Składnia
Składnia wygląda tak:
sign(dp or numeric)
Gdzie dp jest wartością podwójnej precyzji.
Przykład 1 – liczba dodatnia
Oto, jak to działa, gdy podasz liczbę dodatnią.
SELECT sign(552); Wynik:
1
W tym przypadku mój argument jest liczbą dodatnią, więc sign() zwraca 1 .
Przykład 2 – liczba ujemna
A oto, co się stanie, jeśli dodam ujemny znak do tej liczby.
SELECT sign(-552); Wynik:
-1
Przykład 3 – Zero
A oto, co się stanie, jeśli przekażę zero do funkcji.
SELECT sign(0); Wynik:
0
Przykład 4 – ułamki sekund
Nie ma znaczenia, czy Twój argument jest liczbą całkowitą, czy składa się z ułamków sekund, wynik jest taki sam.
SELECT
sign(0.552),
sign(0.0),
sign(-0.552); Wynik:
sign | sign | sign ------+------+------ 1 | 0 | -1
Przykład 5 – Wyrażenia
Możesz również podać wyrażenia, takie jak następujące.
SELECT sign(12 * -0.552); Wynik:
-1