Skip to content

Text Types

TypeความยาวPaddingใช้เมื่อ
CHAR(n)คงที่ n ตัวอักษรเติมช่องว่างต่อท้ายรหัสความยาวคงที่ เช่น ISO code
VARCHAR(n)ไม่เกิน n ตัวอักษรไม่เติมข้อมูลทั่วไปที่มี max length
TEXTไม่จำกัดไม่เติมข้อความยาว ๆ เช่น bio, description

CHAR(n) — ความยาวคงที่

Section titled “CHAR(n) — ความยาวคงที่”

ไม่มี concept นี้ — ช่องเก็บ text ได้ทุกความยาว

VARCHAR(n) — ความยาวไม่เกิน n

Section titled “VARCHAR(n) — ความยาวไม่เกิน n”

type ที่ใช้บ่อยที่สุดสำหรับ text ทั่วไป:

CREATE TABLE students (
student_id VARCHAR(6), -- ไม่เกิน 6 ตัว: 'STD001'
name VARCHAR(100), -- ชื่อไม่เกิน 100 ตัว
email VARCHAR(100) -- อีเมลไม่เกิน 100 ตัว
);
-- ถ้าใส่เกิน n ตัวจะ error
INSERT INTO students (student_id, name, email)
VALUES ('STD00001', 'ชื่อยาว', 'test@mail.com');
-- ERROR: value too long for type character varying(6)

TEXT — ไม่จำกัดความยาว

Section titled “TEXT — ไม่จำกัดความยาว”
CREATE TABLE articles (
id SERIAL PRIMARY KEY,
title VARCHAR(200),
body TEXT -- ไม่จำกัดความยาว
);

เมื่อไหร่ควรใช้อะไร?

Section titled “เมื่อไหร่ควรใช้อะไร?”
-- CHAR: รหัสที่ยาวเท่ากันเสมอ
country_code CHAR(2), -- 'TH', 'US'
currency_code CHAR(3), -- 'THB', 'USD'
-- VARCHAR: ข้อมูลทั่วไปที่มี max ชัดเจน
name VARCHAR(100),
email VARCHAR(255),
phone VARCHAR(15),
-- TEXT: เนื้อหายาว ๆ ไม่มี max ชัดเจน
bio TEXT,
description TEXT,
notes TEXT