oracle数据库sql语句常用方法总结-时间篇

因测试过程中需要验证指标数据展示的正确性,如果手动计算的话,非常耗费时间,于是就通过写sql语句来验证系统指标数据的正确性,提高效率。今天把基于oracle编写sql语句过程中用到的方法进行总结,方便查看。
一、时间类
1、得到当前的日期 (精确到 年月日 时分秒)
select sysdate from dual;(如:2022-05-19 13:20:15)
--得到当天凌晨0点0分0秒的日期 (如:2022-05-19 00:00:00)
select trunc(sysdate) from dual;
-- 得到这天的最后一秒 (如:2022-05-19 23:59:59)
select trunc(sysdate) + 0.99999 from dual;
-- 得到当天某小时的具体数值
select trunc(sysdate) + 1/24 from dual; (如:2022-05-19 01:00:00)
select trunc(sysdate) + 7/24 from dual; (如:2022-05-19 07:00:00)

2、得到明天凌晨0点0分0秒的日期 (如:2022-05-20 00:00:00)
select trunc(sysdate+1) from dual;
select trunc(sysdate)+1 from dual;

3、本月一日的日期 (如:2022-05-01 00:00:00)
select trunc(sysdate,'mm') from dual;

4、得到下月一日的日期 (如:2022-06-01 00:00:00)
select trunc(add_months(sysdate,1),'mm') from dual;

5、返回当前月的最后一天
select last_day(sysdate) from dual; (如:2022-05-31 13:36:01)
select last_day(trunc(sysdate)) from dual; (如:2022-05-31 00:00:00)

6、得到一年的每一天
select trunc(sysdate,'yyyy')+ rn -1
from
(select rownum rn from all_objects
where rownum<366);

7、今天是今年的第N天
SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;

8、如何在给现有的日期加上2年
select add_months(sysdate,24) from dual;

9、判断某一日子所在年分是否为润年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;

10、判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;

11、得到日期的季度
select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;

12、获取当前时间之前各时间段的数据(没有数据的时间段用零代替)
SELECT
rn || '时',
nvl( total, 0 ) total
FROM
--生成当前时间段之前各时间点
( SELECT ROWNUM - 1 rn FROM dual CONNECT BY ROWNUM <= to_char( SYSDATE + ( 1 / 24 ), 'hh24' ) ) t
LEFT JOIN
(
--获取当前时间段对应的数
SELECT
to_char( r.DES_REAL_LANDING, 'hh24' ) AS TT,
count( * ) total
FROM
ACDM_FLIGHT f,
ACDM_FLIGHT_ROUTE r
WHERE
f.STAGE_ID = 400002
GROUP BY
to_char( r.DES_REAL_LANDING, 'hh24' )
) t1 ON t.rn = t1.TT
ORDER BY rn

TRUNC函数用于对值进行截断。

用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期。

(1)截断数字:

格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入。

SQL> select TRUNC(15.79,1) from dual;

TRUNC(15.79,1)

      15.7

(2)截断日期:
截取到小时:
select trunc(sysdate, 'hh') from dual
2022-05-23 17:00:00

常见用法
--加法
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒

--减法 (同上,只是再数前面加个负号)
select sysdate,add_months(sysdate,-12) from dual; --减1年

参考文档:
https://blog.csdn.net/gdkyxy2013/article/details/79693660

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,841评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,415评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,904评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,051评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,055评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,255评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,729评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,377评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,517评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,420评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,467评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,144评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,735评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,812评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,029评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,528评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,126评论 2 341

推荐阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    A建飞_dedf阅读 611评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,695评论 0 2
  • 主流关系型数据库 关系型数据库存储数据的特点 结构化查询语言: 数据类型: select * from emp; ...
    陈先森mansplain阅读 658评论 0 0
  • Oracle数据库简介 Oracle数据库安装 Oracle数据库基本操作 (select from where...
    wulegekong阅读 1,051评论 0 3
  • sql语言分为 数据查询语言(DDL Data Query Language)create:创建数据库对象alte...
    咸鱼有梦想呀阅读 239评论 0 2