ORACLE数据库日期类型

本文深入讲解了Oracle数据库中处理日期的各类函数,包括获取当前日期时间、日期加减操作、日期转换、时区转换等实用技巧,以及如何提取日期特定部分、舍入和截断日期、比较日期大小和计算特定日期。

Oracle

sysdate			// 返回操作系统中的当前日期和时间。
current_date	// 会话的时区中的系统日期
systimestamp	// 报告TIMESTAMP数据类型格式的系统日期
add_months(sysdate, 6)		// 添加月份
add_months(sysdate, -6)		// 减少月份
months_between(date1, date2)	// 计算两个日期之间的月份之差
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')	// 日期转字符串
to_date('2019-12-27 13:24:35')				// 字符串转日期
new_time(sysdate, 'this', 'other')			// 将this时区的时间sysdate转换为other时区的时间

EXTRACT函数
使用EXTRACT函数来选择日期值的某一部分,比如从日期中选择月份和天)

extract ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} from sysdate)

ROUND和TRUNC
ROUND总是将日期舍入为最接近一天的零点

select round(sysdate) from dual;

TRUNC将时间设置为当天的午夜0时

select trunc(sysdate) from dual;

GREATEST 和 LEAST
GREATEST和LEAST函数不会将日期格式的日期字符串作为日期处理。这些日期还是作为字符串处理。为使LEAST和GREASTEST正常工作,必须对日期字面值串使用TO_DATE函数;

select least(to_date('2019-12-27', 'yyyy-MM-dd'), to_date('2019-12-28', 'yyyy-MM-dd'))
from dual;

NEXT_DAY
从2019-12-27号开始下一个周一是几号

select next_day(to_date('2019-12-27', 'yyyy-MM-dd'), 'MONDAY') from dual;

LAST_DAY
计算2019年12月份的最后一天的日期

select last_day(to_date('2019-12', 'yyyy-MM')) from dual;

计算2019年的最后一天的日期

select last_day(to_date('2019', 'yyyy')) from dual;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值