oracle当月一天_oracle日期常用函数汇总

原标题:oracle日期常用函数汇总

1. 日期转化为字符串 (以2018年09月20日为例)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual; --获取年-月-日 时:分:秒

--显示结果为:2018-09-20 12:35:21

select to_char(sysdate,'yyyymmdd hh24:mi:ss') strDateTime from dual; --获取年月日 时:分:秒

--显示结果为:20180920 13:39:25

select to_char(sysdate,'yyyymmdd') strDateTime from dual; --获取年月日

--显示结果为:20180920

select to_char(sysdate,'yyyy') strYear from dual; --获取年

--显示结果为:2018

select to_char(sysdate,'mm') strMonth from dual; --获取月

--显示结果为:09

select to_char(sysdate,'dd') strDay from dual; --获取日

--显示结果为:20

select to_char(sysdate,'hh24') strHour from dual; --获取时

--显示结果为:13

select to_char(sysdate,'mi') strMinute from dual; --获取分

--显示结果为:46

select to_char(sysdate,'ss') strSecond from dual; --获取秒

--显示结果为:43

2. 查询某天是星期几

select to_char(to_date('2018-09-20','yyyy-mm-dd'),'day') strDay from dual;

显示结果:星期六

select to_char(to_date('2018-09-20','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = English') strDay from dual;

显示结果:saturday

3. 两个日期间的天数

select floor(sysdate - to_date('20180909','yyyymmdd')) strTime from dual;

--其中sysdate=2018/09/20 17:09:51

--显示结果:09

4.月份差

select months_between(date'2018-04-23',date'2017-04-23') days from dual;

5、查询某天是一年的第几天

select TO_CHAR(SYSDATE,'DDD'),sysdate from dual

310 2018-11-6 10:03:51

6、 用于计算在时间x之上机上Y个月后的时间值

select add_months(sysdate,6) from dual;

7、trunc()函数的日期用法

select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-06

select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.

select trunc(sysdate,'yy') from dual --2013-01-01 返回当年第一天

select trunc(sysdate,'dd') from dual --2013-01-06 返回当前年月日

select trunc(sysdate,'yyyy') from dual --2013-01-01 返回当年第一天

select trunc(sysdate,'d') from dual --2013-01-06 (星期天)返回当前星期的第一天

select trunc(sysdate, 'hh') from dual --2013-01-06 17:00:00 当前时间为17:35

select trunc(sysdate, 'mi') from dual --2013-01-06 17:35:00 TRUNC()函数没有秒的精确

8、 LAST_DAY函数返回指定日期对应月份的最后一天

SELECT last_day(SYSDATE) FROM dual;

9、用interval 求时间

sysdate - interval '10' day as "10天前",

sysdate - interval '10' hour as "10小时前",

sysdate - interval '10' minute as "10分钟前",

sysdate - interval '10' second as "10秒钟前",

sysdate - 10 as "10天前",

sysdate - 10 / 24 as "10小时前",

sysdate - 10 / (24 * 60) as "10分钟前",

sysdate - 10 / (24 * 3600) as "10秒钟前"

10、当年、当月第一天

select trunc(sysdate, 'mm') from dual --2018-3-1 返回当月第一天.

select trunc(sysdate,'yy') from dual --2018-1-1 返回当年第一天 返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值