SQL Date and Time Data 日期时间数据

SQL 里表示日期或时间的数据类型。 SIEM 和审计日志几乎离不开它。

常见类型

类型说明
DATE2026-05-18仅日期
TIME14:30:00仅时间
DATETIME2026-05-18 14:30:00日期 + 时间,无时区
TIMESTAMP同上有时区,通常存 UTC

安全分析常用查询

-- 最近 1 小时的失败登录
SELECT * FROM auth_logs
WHERE status = 'failed'
  AND event_time > NOW() - INTERVAL 1 HOUR;

关键坑

  • TIMESTAMP 在 2038 年溢出(经典 32 位问题)—— 长期数据用 BIGINT 存毫秒,或 DATETIME
  • 时区 —— 数据库存 UTC,展示给用户时再转本地时区,不要反过来
  • 比较 必须类型一致,字符串 '2026-05-18' 比 DATETIME 字段会隐式转换,可能用不上索引