Oracle9i 日期函数

函数名 描述
ADD_MONTHS(d, n) 增加月数

如果原日期是月末,或者结果月中没有原日期,则调整到月末日期

CURRENT_DATE 返回当前会话时区的日期
CURRENT_TIMESTAMP([P]) 返回当前会话时区的日期时间, p 表示精度, 0-9, 默认 6
DBTIMEZONE 返回时区
EXTRACT(c, FROM d) 返回日期时间 d 中指定的部分 c,参阅C
GREATEST(d, ...) 返回最大日期
LAST_DAY(d) 返回同月最后一天的日期
LEAST(d, ...) 返回最小日期
LOCALTIMESTAMP([P]) 返回当前会话时区的日期时间, p 表示精度, 0-9, 默认 6
MONTHS_BETWEEN(d1, d2) 计算日期相差月数,

如果两个日期都是月末, 或者为日数相同, 则返回整数, 否则返回小数

NEXT_DAY(d, weekname) 返回下一个周几的日期, weekname 可以使用星期全称或简称, 或者数字( 1 为星期日)
ROUND(...) 日期/时间取舍到指定单位
SESSIONTIMEZONE 返回上次 ALTER SESSION 语句后数据时区的偏移量

如果没有改变, 与 DBTIMEZONE 相同

SYS_EXTRACT_UTC(ts) 返回时间标记 ts 所对应的格林尼治(GMT)时间
NEW_TIME(d, z1, z2) 将 z1 时区的时间转换为 z2 时区
SYSDATE 返回当前数据库日期和时间
SYSTIMESTAMP 返回当前数据库的, TIMESTAMP WITH TIME ZONE 类型的日期时间
TRUNC(d [,fnt]) 与 ROUND 相似, 不进行四舍五入

时区表格

代码(字符型) 时区
AST 大西洋标准时间
ADT 大西洋白天时间
BST 白令海标准时间
BDT 白令海白天时间
CST 地中海标准时间
CDT 地中海白天时间
EST 东部标准时间
EDT 东部白天时间
GMT 格林威治标准时间
HST 阿拉斯加-夏威夷标准时间
HDT 阿拉斯加-夏威夷白天时间
MST 山区标准时间
MDT 山区白天时间
NST 纪芬兰标准时间
PST 太平洋标准时间
PDT 太平洋白天时间
YSTS 育空河标准时间
YDT 育空河白天时间

ROUND 函数

ROUND(d [,fmt])
参数 描述
d 源日期
fmt 指定的时间单位

fmt 字符意义

参数 描述
CC, SCC 世纪
SYYY, YYYY, YEAR, SYEAR, YYY, YY, Y 年份
IYYY, IY, I ISO 年份
Q 季度
MONTH, MON, MM, RM 月份
WW  
IW  
W  
DDD, DD, J
DAY, DY, D 周开始日
HH, HH12, HH24 小时
MI 分钟
参数 描述
-/,.;: 原样输出
'text' 直接输出的字符
AD / A.D. / BC / B.C. 公元/公元前
AM / A.M. / PM / P.M. 上午或下午 AM/PM
CC 世纪, 如 20 代表 1900-1999
SCC 同 CC,但公元前为负数
D 周几, 1-7
DAY 周的名称, 英文
DD 日数
DDD 在一年中的第几天
DY 周的缩写
HH 天的小时, 1-12
HH12 同 HH
HH24 天的小时, 0-23
IW 周数, 1-53
IYYY 4 数字年份
IYY 年的最后 3 位数
IY 年的最后 2 位数
I 年的最后 1 位数
J 儒略历天, 第 1 天为公元前 4712 年 1 月 1 日
MI 分钟
MON 月份缩写, 3 字母
MONTH 月份单词全拼
Q 季度, 1-4
RM 罗马数字的月份
RR 年的最后 2 位数(TO_CHAR)
RRRR 年的 4 位数(TO_CHAR)
SS
SSSSS 从千夜开始的秒数
WW 一年中的周
W 月中的周, 1-7 日为第一周
Y,YYY 年的 4 位数,有分节号
YEAR 年的单词
SYEAR 同 YEAR, 公元前则为负
YYYY 年的 4 位数字
SYYYY 年的 4 位数字, 公元前有负号
YYY 年的最后 3 位数字
YY 年的最后 2 位数字
Y 年的最后 1 位数字

EXTRACT

参数 描述
YEAR  
MONTH  
DAY  
MIN  
SECOND  
TIMEZONE_HOUR  
TIMEZONE_MINUTE  
TIMEZONE_REGION  
TIMEZONE_ABBR