oracle如何取到分时 oracle按分钟统计

ORACLE中,我要选取一个30分钟的时间段,取的是sysdate系统当前时间 , 取到分钟,和当前时间的分钟数往前推sysdate 1是加一天oracle如何取到分时 , sysdate /-(1/48)就是加/减 半个小时
select count(*) from table_name where table_name.date between to_char(sysdate-1/48,'yyyymmdd HH:mi') and sysdate
其中date为你要统计的字段名字
table_name为表的名字
to_char是一个日期函数 to_char(sysdateoracle如何取到分时 , 'yyyymmdd HH:mi') 为截取到分钟oracle如何取到分时,对应的to_char(sysdate,'yyyymmdd HH')为截取到小时 。to_char(sysdate,'yyyymm')为截取到月份,
希望对你有帮助 。。。
如何取得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小时的情况 , 如果oracle如何取到分时你想获取显示下午的时间,你可以采用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年的夏季发布oracle如何取到分时了可用于DEC公司的PDP-11计算机上的商用ORACLE产品 , 这个数据库产品整合oracle如何取到分时了比较完整的SQL实现 , 其中包括子查询、连接及其oracle如何取到分时他特性 。美国中央情报局想买一套这样的软件来满足他们的需求 , 但在咨询了IBM公司之后发现IBM没有可用的商用产品,他们联系了RSI 。于是RSI有了第一个客户 。
最先提出“关系数据库”的IBM采用RSI的数据库 。1982年再更名为甲骨文(Oracle) 。
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 中timestamp类型的 年 月 日 时 分 秒看你字段是什么类型的
select to_char(date, 'yyyy-mm-dd hh24:mi:ss') from TRN_DAILY_STATISTICS
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数据库中的年月日时分秒中提取时分用to_char就可以了
比如当前时间的
select to_char(sysdate,'') from dual
结果:
【oracle如何取到分时 oracle按分钟统计】oracle如何取到分时的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle按分钟统计、oracle如何取到分时的信息别忘了在本站进行查找喔 。

    推荐阅读