oracle如何取分钟,oracle截取小时

oracle 语句取时间(times)字段 加5分钟 大于等于当前系统时间的语句怎么写

1、创建测试表,

成都创新互联公司专注于企业全网整合营销推广、网站重做改版、米东网站定制设计、自适应品牌网站建设、成都h5网站建设商城建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为米东等各大城市提供网站开发制作服务。

create table test_date(id number, times date);

2、插入测试数据

insert into test_date select level, sysdate-level/24/60 t from dual connect by level = 100;

commit;

3、查询表中数据,select t.* from test_date t;

4、编写sql,获取加5分钟大于等于当前系统时间的记录; select t.* from test_date t where times+5/24/60=sysdate;

在java中怎么获取oracle中时间的时分秒?

连接上数据库,向数据库发送“select extract (hour from systimestamp),extract(minute from systimestamp),extract(second from systimestamp) from dual”这条SQL语句。其中hour是小时,minute是分钟,second是秒钟。

oracle中,怎么计算两个时间点的分钟数?

SELECT (TIME1 - TIME2) * 34 * 60 FROM DUAL

这个是可乐所说的

但是这个结果其实并不准确

因为两个时间相减,是以一天为1个单位,得到分钟的小数都是约数

那么这么相减得到的结果就有点奇怪了

比如

SELECT (TO_DATE('2003/12/14 13:31:54', 'YYYY/MM/DD HH24:MI:SS') - TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')) * 34 * 60 FROM DUAL

结果很奇怪 4.25。

我觉得如果需要准确的分钟

我给你提供几个函数吧,你自己考虑考虑怎么做

总不能什么东西都是现成的

对不?

TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS')

把字符串型转化成日期类型

TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')

把日期类型转化成字符串类型

当然 也可以

TO_CHAR(TO_DATE('2003/12/14 13:28:54', 'YYYY/MM/DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS')

就可以把格式为 2003/12/14 13:28:54

转化为 2003-12-14 13:28:54

当然 也可以只取其中的年

TO_CHAR(SYSDATE, 'YYYY')

或者 月

TO_CHAR(SYSDATE, 'MM')

或者年和月

TO_CHAR(SYSDATE, 'YYYY-MM')

等等都可以

特别提醒一下转化小时

TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')

表示24小时计时

TO_CHAR(SYSDATE, 'YYYY/MM/DD HH12:MI:SS')

表示12小时计时

当然如果只取小时

TO_CHAR(SYSDATE, 'HH24')

TO_CHAR(SYSDATE, 'HH12')

也可以取年和日 TO_CHAR(SYSDATE, 'YYYY-DD')

不过这么取没有什么实际意义

那么我们下一步 考虑取出单独的一个月 或者分钟 或者小时

假设取分钟吧

TO_CHAR(SYSDATE, 'MI')

我们可以再利用一个函数转化

那就是把分钟的字符串转化成数字类型

TO_NUMBER

比如 TO_NUMBER('123')

结果就是123

TO_NUMBER('123') - TO_NUMBER('100')

结果就是100

TO_NUMBER(TO_CHAR(SYSDATE, 'MI'))

得到的就是数据库当前时间的分钟数

有了这些方法,如果确实需要在数据库中实现计算

那么自己综合利用吧

累死我了,有问题的话再说吧

Oracle 取过去一个小时每分钟的数据应该如何写sql?

写个例子吧

创建表、插入数据:

create table a

(time date);

insert into a values (to_date(20151208150101,'yyyymmddhh24miss'));

执行:

with t as

(select rownum rn from dual connect by rownum=60)

select t.rn-1 rn,sum(case when t.rn-1=to_char(a.time,'mi') then 1 else 0 end) from t left join a on t.rn=to_char(a.time,'mi') and to_char(a.time,'yyyy-mm-dd hh24:mi:ss') between 

'2015-12-08 15:00:00' and '2015-12-08 15:59:59'

group by t.rn

order by t.rn

结果:

其中rn代表分钟数

如何取得oracle中日期的时分秒

获取年

select to_char(sysdate,'yyyy') from dual--2016

select to_char(sysdate,'YYYY') from dual--2016

获取月

select to_char(sysdate,'mm') from dual--10

select to_char(sysdate,'MM') from dual--10

获取日

select to_char(sysdate,'dd') from dual--10

select to_char(sysdate,'DD') from dual--10

获取时

select to_char(sysdate,'hh24') from dual--15

select to_char(sysdate,'hh') from dual--03

select to_char(sysdate,'HH') from dual--03

select to_char(sysdate,'HH24') from dual--15

获取分钟

select to_char(sysdate,'MI') from dual--14

select to_char(sysdate,'mi') from dual--14

获取秒

select to_char(sysdate,'ss') from dual--35

select to_char(sysdate,'SS') from dual--40

从上面的测试SQL可以看出年月日yyyy,mm,dd,hh,mi,ss的大小写对于从oracle中获取年月日时分秒没有影响 

对于获取小时分12小时和24小时的情况,如果你想获取显示下午的时间,你可以采用hh24,这样就会显示类似于15:30而不是03:30

甲骨文股份有限公司(NASDAQ:ORCL,Oracle)

是全球大型数据库软件公司。总部位于美国加州红木城的红木岸(Redwood Shores),现时首席执行官为公司创办人劳伦斯·埃里森(Lawrence J. Ellison)。

2016年11月6日,甲骨文公司(Oracle)股东同意以 93 亿美元的资金收购Netsuite公司,每股价格约为 109 美元。

20世纪约70年代 一间名为Ampex的软件公司,正为中央情报局设计一套名叫Oracle的数据库,埃里森是程序员之一。

1977年埃里森与同事Robert Miner创立“软件开发实验室”(Software Development Labs),当时IBM发表“关系数据库”的论文,埃里森以此造出新数据库,名为甲骨文。

1978年 公司迁往硅谷,更名为“关系式软件公司”(RSI)。RSI在1979年的夏季发布了可用于DEC公司的PDP-11计算机上的商用ORACLE产品,这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。美国中央情报局想买一套这样的软件来满足他们的需求,但在咨询了IBM公司之后发现IBM没有可用的商用产品,他们联系了RSI。于是RSI有了第一个客户。

最先提出“关系数据库”的IBM采用RSI的数据库。1982年再更名为甲骨文(Oracle)。

oracle 中什么函数可以把分钟显示为多少小时 多少分钟的格式

如果只想用oracle内置的函数,那么只有这个,把数字转换成interval类型,显示结果分4段,天、小时、分钟、秒。

下例把100分钟显示成1小时40分钟:

SQL select NUMTODSINTERVAL(100,'MINUTE') from dual;

NUMTODSINTERVAL(100,'MINUTE')

---------------------------------------

+000000000 01:40:00.000000000

如果不想用内置函数(因为超过24小时会自动转换成1天),可以自己写函数,算法如下

下例把100分钟显示成1小时40分钟:

SQL select floor(100/60) HOURS,mod(100,60) MINUTES from dual;

HOURS MINUTES

---------- ----------

1 40

SQL


标题名称:oracle如何取分钟,oracle截取小时
分享地址:http://scyanting.com/article/phhdod.html