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