Skip to content

4.3 SQL Time Types

SQL มี type สำหรับเวลา 4 แบบ — ใช้ผิดตัว = bug ที่หาไม่เจอจนถึงวันที่เปลี่ยน timezone

DATEปี-เดือน-วัน TIMEชั่วโมง:นาที:วินาที TIMESTAMPDATE + TIME TIMESTAMPTZTIMESTAMP + timezone
Typeเก็บอะไรตัวอย่างใช้เมื่อ
DATEปี, เดือน, วัน2026-04-24วันเกิด, วันที่สมัคร
TIMEชั่วโมง, นาที, วินาที14:30:00เวลาเปิด-ปิดร้าน
TIMESTAMPDATE + TIME (ไม่มี timezone)2026-04-24 14:30:00event ใน timezone เดียว
TIMESTAMPTZDATE + TIME + timezone2026-04-24 14:30:00+07ทุกอย่างที่เกี่ยวข้องข้ามประเทศ

Sheets ไม่มี type แยกสำหรับ DATE / TIME / TIMESTAMP — ทุกอย่างเป็น serial number:

=TODAY() → วันที่ (ส่วนจำนวนเต็ม)
=NOW() → วันที่ + เวลา (จำนวนเต็ม + ทศนิยม)
=NOW() - TODAY() → เวลาเท่านั้น (ส่วนทศนิยม)

Sheets ไม่มี timezone — มันใช้ timezone ของ spreadsheet settings (File → Settings → Time zone)

=TEXT(NOW(), "YYYY-MM-DD HH:MM:SS") → format ชัดเจน

ข้อจำกัดสำคัญ: ถ้า 2 คนเปิด Sheets เดียวกันจาก timezone ต่างกัน — NOW() จะให้ค่า เดียวกัน (timezone ของ spreadsheet) ไม่ใช่ local time ของแต่ละคน

สถานการณ์ใช้ Type
วันเกิดDATE
เวลาเปิด-ปิดร้านTIME
Event ในบริษัทเดียว timezone เดียวTIMESTAMP
Event ที่มีคนจากหลายประเทศTIMESTAMPTZ
Log ของ serverTIMESTAMPTZ
Created_at / updated_atTIMESTAMPTZ