Cara mendapatkan nilai setelah titik desimal di mysql

Fungsi ROUND () di MySQL digunakan untuk membulatkan angka ke angka desimal yang ditentukan. Jika tidak ada angka desimal tertentu yang disediakan untuk pembulatan, angka tersebut akan dibulatkan ke bilangan bulat terdekat

Sintaksis

ROUND(X, D)

Parameter. Metode ini menerima dua parameter dalam sintaks, seperti yang disebutkan di atas dan dijelaskan di bawah –

Seperti yang Anda ketahui, metode DECIMAL() membutuhkan dua parameter. Parameter pertama menceritakan tentang jumlah digit dan parameter kedua menceritakan tentang jumlah digit setelah titik desimal. Oleh karena itu, jika Anda menggunakan DECIMAL(10,10) artinya Anda hanya dapat menggunakan 10 digit pecahan

Misalnya. Toko 0. 9999999999 dengan DECIMAL(20,10)

Untuk memahami apa yang telah kita bahas di atas, mari kita buat sebuah tabel. Permintaan untuk membuat tabel adalah sebagai berikut

mysql> create table Decimal_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Price DECIMAL(20,10),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.06 sec)
_

Sekarang Anda dapat menyisipkan beberapa record dalam tabel menggunakan perintah insert. Permintaan untuk memasukkan catatan adalah sebagai berikut


Untuk menampilkan 3 digit setelah desimal, gunakan TRUNCATE(). Mari kita buat tabel − terlebih dahulu

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Value DECIMAL(10,5)
);
Query OK, 0 rows affected (0.51 sec)

Masukkan beberapa record ke dalam tabel menggunakan perintah insert −

mysql> insert into DemoTable(Value) values(109.4567);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(Value) values(15.9875);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable(Value) values(1234.2346789);
Query OK, 1 row affected, 1 warning (0.14 sec)

Berikut ini adalah kueri untuk menampilkan semua catatan dari tabel menggunakan pernyataan pilih −

mysql> select *from DemoTable;
_

Ini akan menghasilkan output berikut -

+----+------------+
| Id | Value      |
+----+------------+
| 1  | 109.45670  |
| 2  | 15.98750   |
| 3  | 1234.23468 |
+----+------------+
3 rows in set (0.00 sec)

Berikut adalah kueri untuk menampilkan 3 digit setelah desimal i. e. 3 tempat desimal −

mysql> select truncate(Value,3) from DemoTable;
_

Ini akan menghasilkan output berikut -

+-------------------+
| truncate(Value,3) |
+-------------------+
| 109.456           |
| 15.987            |
| 1234.234          |
+-------------------+
3 rows in set (0.00 sec)

Cara mendapatkan nilai setelah titik desimal di mysql


Cara mendapatkan nilai setelah titik desimal di mysql

Ringkasan. dalam tutorial ini, kami akan memperkenalkan Anda pada tipe data MySQL DECIMAL dan cara menggunakannya secara efektif di tabel database Anda

Pengantar tipe data DECIMAL MySQL

Tipe data DECIMAL MySQL digunakan untuk menyimpan nilai numerik yang tepat dalam database. Kami sering menggunakan jenis data DECIMAL untuk kolom yang mempertahankan presisi tepat e. g. , data uang dalam sistem akuntansi

Untuk menentukan kolom yang tipe datanya DECIMAL Anda menggunakan sintaks berikut

column_name  DECIMAL(P,D);

Code language: SQL (Structured Query Language) (sql)
_

Dalam sintaks di atas

  • P adalah presisi yang mewakili jumlah digit signifikan. Kisaran P adalah 1 hingga 65
  • D adalah skala yang mewakili jumlah digit setelah titik desimal. Rentang D adalah 0 dan 30. MySQL mensyaratkan bahwa D kurang dari atau sama dengan (<=) P

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
2 berarti bahwa kolom dapat menyimpan hingga P digit dengan D desimal. Kisaran sebenarnya dari kolom desimal tergantung pada presisi dan skala

Selain kata kunci

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_3, Anda juga dapat menggunakan

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
4,

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
5, atau

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
6 karena merupakan sinonim dari

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
3

Seperti jenis data INT, jenis

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_3 juga memiliki atribut

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
9 dan

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
0. Jika kita menggunakan atribut 

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_9, kolom dengan

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
2 tidak akan menerima nilai negatif

Jika kita menggunakan

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
0, MySQL akan mengisi nilai tampilan dengan 0 hingga lebar tampilan yang ditentukan oleh definisi kolom. Selain itu, jika kita menggunakan

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
_4 untuk kolom

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
3, MySQL akan menambahkan atribut 

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
9 ke kolom secara otomatis

Contoh berikut menentukan kolom jumlah dengan tipe data

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
3

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_

Dalam contoh ini, kolom jumlah dapat menyimpan 6 digit dengan 2 angka desimal; . 99 hingga -9999. 99

MySQL memungkinkan kita untuk menggunakan sintaks berikut

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)

Ini setara dengan

column_name DECIMAL(P,0);

Code language: SQL (Structured Query Language) (sql)

Dalam hal ini, kolom tidak berisi bagian pecahan atau titik desimal

Selain itu, kita bahkan dapat menggunakan sintaks berikut

column_name DECIMAL;

Code language: SQL (Structured Query Language) (sql)

Nilai default P adalah 10 dalam kasus ini

penyimpanan DECIMAL MySQL

MySQL memberikan penyimpanan untuk bagian integer dan pecahan secara terpisah. MySQL menggunakan format biner untuk menyimpan nilai

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
3. Ini mengemas 9 digit menjadi 4 byte

Untuk setiap bagian, dibutuhkan 4 byte untuk menyimpan setiap kelipatan 9 digit. Penyimpanan yang diperlukan untuk digit sisa diilustrasikan dalam tabel berikut

Sisa DigitsBytes001–213–425–637–94

Misalnya,

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
_9 memiliki 9 digit untuk bagian pecahan dan 19-9 = 10 digit untuk bagian bilangan bulat. Bagian pecahan membutuhkan 4 byte. Bagian integer membutuhkan 4 byte untuk 9 digit pertama, untuk 1 digit sisa, membutuhkan 1 byte lagi. Secara total, kolom

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
_9 membutuhkan 9 byte

Tipe data DECIMAL MySQL dan data moneter

Kami sering menggunakan jenis data

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_3 untuk data moneter seperti harga, gaji, saldo rekening, dll. Jika Anda mendesain database yang menangani data moneter, sintaks berikut ini akan baik-baik saja

amount DECIMAL(19,2);

Code language: SQL (Structured Query Language) (sql)

Namun, jika Anda ingin mematuhi aturan Prinsip Akuntansi yang Diterima Secara Umum (GAAP), kolom moneter harus memiliki setidaknya 4 tempat desimal untuk memastikan bahwa nilai pembulatan tidak melebihi $0. 01. Dalam hal ini, Anda harus menentukan kolom dengan 4 tempat desimal sebagai berikut

amount DECIMAL(19,4);

Code language: SQL (Structured Query Language) (sql)

Contoh tipe data DECIMAL MySQL

Pertama, buat tabel baru bernama

column_name DECIMAL(P,0);

Code language: SQL (Structured Query Language) (sql)
2dengan tiga kolom. id, deskripsi, dan biaya

CREATE TABLE materials ( id INT AUTO_INCREMENT PRIMARY KEY, description VARCHAR(255), cost DECIMAL(19 , 4 ) NOT NULL );

Code language: PHP (php)

Kedua, masukkan data ke dalam tabel

column_name DECIMAL(P,0);

Code language: SQL (Structured Query Language) (sql)
2

INSERT INTO materials(description,cost) VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);

Code language: SQL (Structured Query Language) (sql)

Ketiga, kueri data dari tabel

column_name DECIMAL(P,0);

Code language: SQL (Structured Query Language) (sql)
2

SELECT * FROM materials;

Code language: SQL (Structured Query Language) (sql)
Cara mendapatkan nilai setelah titik desimal di mysql
Cara mendapatkan nilai setelah titik desimal di mysql

Keempat, ubah kolom biaya untuk menyertakan  atribut

column_name DECIMAL(P);

Code language: SQL (Structured Query Language) (sql)
0.

amount DECIMAL(6,2);

Code language: SQL (Structured Query Language) (sql)
_0

Kelima, kueri tabel bahan lagi

SELECT * FROM materials;

Code language: SQL (Structured Query Language) (sql)
Cara mendapatkan nilai setelah titik desimal di mysql
Cara mendapatkan nilai setelah titik desimal di mysql

Seperti yang Anda lihat, kami memiliki banyak angka nol yang ditambahkan dalam nilai keluaran.

Dalam tutorial ini, kami telah menunjukkan memberi Anda informasi mendetail tentang tipe data DECIMAL MySQL dan menunjukkan cara menerapkannya ke kolom yang menyimpan data numerik yang tepat seperti data keuangan

Bagaimana cara mendapatkan angka setelah titik desimal di SQL?

X - TRUNC(X) , juga berlaku untuk negatif. Ini akan memberi Anda bagian desimal dari angka tersebut, sebagai ganda, bukan bilangan bulat.

Bagaimana cara mengekstrak angka setelah titik desimal?

Pilih sel dan ketik rumus ini =A1-TRUNC(A1) (A1 adalah sel yang ingin Anda ekstrak nilai desimalnya) ke dalam Formula Bar, lalu tekan tombol Enter. Keep selecting the first result cell, and drag fill handle down to get all results. You can see the decimal values are extracted with sign as below screenshot shown.

Bagaimana saya bisa mendapatkan nilai hingga 2 tempat desimal di SQL?

Fungsi ROUND() membulatkan angka ke angka desimal yang ditentukan.

Bagaimana cara mendapatkan hanya nilai desimal di MySQL?

Pengantar tipe data MySQL DECIMAL .
nama_kolom DECIMAL(P,D);.
jumlah DECIMAL(6,2);.
nama_kolom DECIMAL(P);.
nama_kolom DECIMAL(P,0);.
kolom_nama DECIMAL;.
jumlah DECIMAL(19,2);.
jumlah DECIMAL(19,4);.
CREATE TABLE material ( id INT AUTO_INCREMENT PRIMARY KEY, deskripsi VARCHAR(255), biaya DECIMAL(19 , 4 ) NOT NULL );