| 類型 | 範圍 | 儲存 | 時區感知 | 自動更新 |
| DATE | 1000-01-01 ~ 9999-12-31 | 3 bytes | 否 | 否 |
| DATETIME | 1000 ~ 9999 | 8 bytes (5.6+ 5+bytes) | 否 | 否 |
| TIMESTAMP | 1970 ~ 2038 | 4 bytes | 是 | 可設 DEFAULT/ON UPDATE |
-- 計算年齡
SELECT TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age FROM users;
-- 時區轉換
SELECT CONVERT_TZ('2024-01-01 12:00:00', '+00:00', '+08:00');
SET vs ENUM
| 特性 | ENUM | SET |
| 值來源 | 預定義列表單選 | 預定義列表多選 |
| 最大成員 | 65,535 | 64 |
| 儲存 | 1-2 bytes | 1-8 bytes |
| 索引 | 支援 | 支援 |
| 查詢 | = 'val' | FIND_IN_SET('val', col) |
-- SET 範例
CREATE TABLE tags (id INT, tag_set SET('php','mysql','linux','nginx'));
INSERT INTO tags VALUES (1, 'php,mysql');
SELECT * FROM tags WHERE FIND_IN_SET('php', tag_set);
SQL 通配符完整對照