Skip to content

Number, Date & Boolean Types

Typeขนาดช่วงค่าใช้เมื่อ
INTEGER (INT)4 bytes-2.1B ถึง 2.1Bจำนวนเต็มทั่วไป
BIGINT8 bytes-9.2E18 ถึง 9.2E18ID ที่เยอะมาก
REAL4 bytes6 decimal digitsค่าประมาณ (ไม่แม่นยำ)
NUMERIC(p,s)variableกำหนดเองเงิน, ค่าที่ต้องแม่นยำ

Sheets เก็บตัวเลขเป็น floating-point ทั้งหมด ไม่แยก integer / decimal

Typeเก็บอะไรตัวอย่าง
DATEวันที่อย่างเดียว2025-08-15
TIMESTAMPวันที่ + เวลา (ไม่มี timezone)2025-08-15 14:30:00
TIMESTAMPTZวันที่ + เวลา + timezone2025-08-15 14:30:00+07
CREATE TABLE events (
id INTEGER,
event_date DATE,
starts_at TIMESTAMP,
created_at TIMESTAMPTZ DEFAULT NOW()
);
INSERT INTO events (id, event_date, starts_at)
VALUES (1, '2025-12-25', '2025-12-25 09:00:00');
-- ดึงเฉพาะปีจาก date
SELECT EXTRACT(YEAR FROM event_date) AS event_year
FROM events;

BOOLEAN — ค่าจริง/เท็จ

Section titled “BOOLEAN — ค่าจริง/เท็จ”
CREATE TABLE students (
student_id VARCHAR(6),
name VARCHAR(100),
active BOOLEAN -- TRUE / FALSE / NULL
);
-- ค่าที่ยอมรับ: TRUE, FALSE, 't', 'f', 'yes', 'no', 1, 0
INSERT INTO students VALUES ('STD001', 'สมชาย', TRUE);
INSERT INTO students VALUES ('STD002', 'สมหญิง', 'yes');
-- ใช้ใน WHERE ได้ตรง ๆ
SELECT name FROM students WHERE active; -- เหมือน active = TRUE
SELECT name FROM students WHERE NOT active; -- เหมือน active = FALSE

สรุป: เลือก Type ให้ตาราง students

Section titled “สรุป: เลือก Type ให้ตาราง students”
CREATE TABLE students (
student_id VARCHAR(6), -- รหัสไม่เกิน 6 ตัว
name VARCHAR(100), -- ชื่อไม่เกิน 100 ตัว
email VARCHAR(100), -- อีเมลไม่เกิน 100 ตัว
price NUMERIC(10,2), -- เงิน ต้องแม่นยำ
enrolled_on DATE, -- วันที่สมัคร ไม่ต้องมีเวลา
active BOOLEAN -- สถานะ active / inactive
);