oracle,获取每日24*60,所有分钟数

简介: oracle,获取每日24*60,所有分钟数

前言:


为规范用户的时间录入,因此我们采用下拉的方式,让用户选择需要的时间,因此我们需要将一天24小时的时间拆分为类似00:00,00:01...23:00,23:01,23:59。因此我们需要生成24*60=1440行的下拉复选值。具体效果如下图所示。


思路


1、又是connect by


       哈哈哈,从数据的结构来看,又是树状的数据,因此最先想到的是使用connect by,类似我们用connect by 做万年历也是这样的。具体我们可以下面这篇关于connect by详细文章介绍。


oracle connect by很强,但是要慎用,不然有你哭的时候_他们叫我技术总监的博客-CSDN博客

SELECT '年' lx, TO_CHAR(ADD_MONTHS(SYSDATE, (4 - ROWNUM)*12), 'YYYY') YEAR_LIST 
FROM DUAL CONNECT BY ROWNUM <= 5 --获取近5年的年份


2、代码


SELECT to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60),'hh24:mi') tm 
FROM DUAL CONNECT BY ROWNUM <= 24*60
--获取一天所有分钟数


3、效果



4、代码阐述


如上图所示,我们一共获得了1440行数据,对应数据从00:00开始至23:59分钟结束。其中的1440=24*60即CONNECT BY ROWNUM <= 24*60来限制生成的结果只有1440行。


其中 to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60),'hh24:mi')的意思是,获取任一一个日期,如2023年3月23日中的分钟数,其实每天都是24小时。因此随便一个日期都可。ROWNUM从1开始至1440结束,因此当ROWNUM=1时,此时to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60),'hh24:mi')=to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD'),'hh24:mi')=00:00


同理等ROWNUM=2时,to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60),'hh24:mi')=00:01


.............


同理等ROWNUM=1440时,to_char(TO_DATE('2023-03-23', 'YYYY-MM-DD') + (ROWNUM - 1) / (24 * 60),'hh24:mi')=23:59


相关文章
|
8月前
|
消息中间件 Oracle 关系型数据库
使用 cx_Oracle 在 Oracle 中等待记录并执行操作
问题背景: 在第一个 Python 项目中,需要等待记录被插入 Oracle 表中,一旦记录存在,就调用 Python 函数。目前使用 cx_Oracle 库,采用一种无限循环的方式来查询表。如果记录存在,就调用函数,然后等待 5 秒后重新开始循环。但这种方式效率不高,等待时间太长,并且系统看起来很慢。如果不想要每秒都向数据库发送查询,是否有其他方法来等待记录并执行操作?
|
9月前
|
存储 数据库
发现oracle10gSYSAUX空间没有了进行处理
发现oracle10gSYSAUX空间没有了进行处理
61 0
|
SQL Oracle 关系型数据库
TKMappper框架oracle in超过1000问题处理
TKMappper框架oracle in超过1000问题处理
211 0
TKMappper框架oracle in超过1000问题处理
|
Oracle 关系型数据库 测试技术
Oracle超出最大连接数问题及解决
用过Oracle的应该都熟悉如何查看和设置Oracle数据库的最大连接数。这里就再啰嗦一遍。 查看当前的连接数,可以用:select count(*) from v$process;设置的最大连接数(默认值为150)select value from v$parameter where name = ‘processes’; 修改最大连接数alter system se
2345 0
|
Oracle 关系型数据库
oracle学习40-Oracle11g 不区分大小写设定
oracle学习40-Oracle11g 不区分大小写设定
147 0
oracle学习40-Oracle11g 不区分大小写设定
|
Oracle 关系型数据库 数据库
Oracle OMF参数
Oracle DBA 日常工作中,比较常见的就是添加表空间数据文件,如果不使用 OMF 参数,将会是一件麻烦的工作。
Oracle OMF参数
|
SQL Oracle 关系型数据库
Oracle %Cpu 100 us
  昨天中秋节,本该是团圆的好日子,苦逼的运维我还要值班(哈哈,吐槽一下)本以为会没有啥事,谁知道比较重要的一台Oracle服务器突然报警,CPU 2个core都飙到100%,load average也比较高,如下图: AWS CloudWatch也可以看出来CPU长期使...
1510 0
|
Oracle Java 关系型数据库
Oracle连接数满了
项目逐渐做大,分布式微服务越部署越多,会遇到 数据库连接数不够的情况。 image.png 采用直连的方式报错如下: 00:00:22.670 |Weekday_Thread-220523178|ERROR| c.
2847 0
|
Oracle 关系型数据库 数据库

热门文章

最新文章