Di MariaDB, ABS() adalah fungsi numerik bawaan yang mengembalikan nilai absolut (non-negatif) dari argumennya.
Sintaks
Sintaksnya seperti ini:
ABS(X)
Dimana X adalah nomor yang dimaksud. Jika X bukan angka, melainkan diubah menjadi tipe numerik.
Contoh
Ini contohnya:
SELECT ABS(300); Hasil:
+----------+ | ABS(300) | +----------+ | 300 | +----------+
Kami mendapatkan hasil yang sama jika angkanya negatif:
SELECT ABS(-300); Hasil:
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Argumen Non-Numerik
Jika argumennya bukan angka, itu akan diubah menjadi tipe numerik.
Contoh:
SELECT ABS(DATE '2020-12-10'); Hasil:
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
Namun, ini tergantung pada argumen/konteksnya.
Inilah yang terjadi jika saya menghilangkan DATE kata kunci:
SELECT ABS('2020-12-10'); Hasil:
+-------------------+
| ABS('2020-12-10') |
+-------------------+
| 2020 |
+-------------------+
1 row in set, 1 warning (0.000 sec) Mari kita periksa peringatannya:
SHOW WARNINGS; Hasil:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Argumen Tidak Ada
Memanggil ABS() tanpa argumen menghasilkan kesalahan:
SELECT ABS(); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'