Java long ↔ MySQL BIGINT
Java long ใช้ 8 bytes (64-bit signed) ช่วงค่า: -9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807
MySQL BIGINT ใช้ 8 bytes (64-bit signed) ช่วงค่าเหมือนกันทุกประการ
ตัวอย่าง Java long
public class JavaLongDemo {
public static void main(String[] args) {
long kilometer = 9223372036854775807L;
System.out.println("Max long value: " + kilometer);
}
}
Output: Max long value: 9223372036854775807
ตัวอย่าง MySQL BIGINT
CREATE TABLE BigIntDemo (
Kilometer BIGINT
);
INSERT INTO BigIntDemo VALUES (9223372036854775807);
SELECT * FROM BigIntDemo;
ผลลัพธ์:
| Kilometer |
|---|
| 9223372036854775807 |
ตารางเปรียบเทียบ Integer Types
| Java | MySQL | Bytes | Range (Signed) |
|---|---|---|---|
| byte | TINYINT | 1 | -128 to 127 |
| short | SMALLINT | 2 | -32,768 to 32,767 |
| int | INT / MEDIUMINT | 4 / 3 | -2,147,483,648 to 2,147,483,647 |
| long | BIGINT | 8 | -9.22e18 to 9.22e18 |
หมายเหตุ: MySQL มี UNSIGNED option ทำให้ช่วงค่าบวกเพิ่มขึ้น 2 เท่า (BIGINT UNSIGNED: 0 ถึง 18,446,744,073,709,551,615)