Math
DuckDB
SIGN
Mengembalikan tanda (sign) dari sebuah angka: -1 untuk negatif, 0 untuk nol, 1 untuk positif.
Tipe hasil:
INTEGER (-1, 0, atau 1)Diperbarui: 6 Jan 2026Syntax
SQL
SIGN(number)Parameter
numberDOUBLE/DECIMALwajib
Angka yang akan dicek tandanya
Contoh Penggunaan
Menentukan Tanda Angka
SQL
1 SELECT 2 value, 3 SIGN(value) as sign_val 4 FROM ( 5 SELECT unnest([-100, -0.5, 0, 0.5, 100]) as value 6 );
Melihat tanda dari berbagai angka.
Hasil
| value | sign_val |
|---|---|
| -100 | -1 |
| -0.5 | -1 |
| 0 | 0 |
| 0.5 | 1 |
| ... 1 baris lainnya | |
Analisis Profit/Loss
SQL
1 SELECT 2 transaction_id, 3 amount, 4 CASE SIGN(amount) 5 WHEN 1 THEN 'Profit' 6 WHEN -1 THEN 'Loss' 7 ELSE 'Break Even' 8 END as result 9 FROM transactions;
Mengkategorikan transaksi berdasarkan profit atau loss.
Hasil
| transaction_id | amount | result |
|---|---|---|
| 1 | 500000 | Profit |
| 2 | -250000 | Loss |
| 3 | 0 | Break Even |
| 4 | 1200000 | Profit |
Menghitung Net Movement
SQL
1 SELECT 2 product_id, 3 SUM(SIGN(quantity_change)) as net_direction, 4 SUM(quantity_change) as total_change 5 FROM inventory_movements 6 GROUP BY product_id;
Menghitung arah pergerakan inventory secara net.
Hasil
| product_id | net_direction | total_change |
|---|---|---|
| P001 | 3 | 150 |
| P002 | -2 | -80 |
| P003 | 0 | 0 |