南大通用GBase 8a数据库(gbase database)提供丰富的日期函数,在 ETL 开发和报表统计中高频使用。以下是最实用的四个函数及其典型场景。
使用示例
-- 1. NOW() / SYSDATE() —— 获取当前时间SELECT NOW(), SYSDATE();-- 结果: 2026-06-30 15:20:33, 2026-06-30 15:20:33
-- 2. DATE_FORMAT() —— 格式化日期输出SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS 今天日期,DATE_FORMAT(NOW(), '%Y年%m月') AS 中文格式,DATE_FORMAT(NOW(), '%Y%m') AS 年月简写;-- 结果: '2026-06-30', '2026年06月', '202606'
-- 3. DATEDIFF() —— 计算两个日期之间的天数差SELECT DATEDIFF('2026-12-31', '2026-01-01') AS 全年天数;-- 结果: 364
-- 4. DATE_ADD() / DATE_SUB() —— 日期偏移计算-- 3个月前的今天SELECT DATE_ADD(NOW(), INTERVAL -3 MONTH) AS 三月前;-- 当前日期加 30 天SELECT DATE_ADD(CURDATE(), INTERVAL 30 DAY) AS 三十天后;-- 本月第一天(实用技巧)SELECT DATE_FORMAT(CURDATE(), '%Y-%m-01') AS 本月首日;
常用格式符速查格式符 含义 示例
%Y 四位年份 2026
%m 两位月份 06
%d 两位日期 30
%H 24小时制 15
%i 分钟 20
%s 秒 33