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'