首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle中的时间戳数据类型查询

Oracle中的时间戳数据类型查询
EN

Stack Overflow用户
提问于 2014-05-09 14:41:44
回答 2查看 68关注 0票数 0

我有一个名为CYCLING_ACCIDENTS_2的表,其中包含一个名为ACC_DATE_TIMETIMESTAMP(6)列,这是一个如何存储日期的示例,我想知道如何才能以这样的日期格式查询时间,以便我可以有一个时间间隔(2005-2012年),但仅限于一天中的特定时间。我尝试了许多功能,但到目前为止,我所得到的只是语法错误,我试图在网上搜索,但我看不到任何适合我的情况。有人能帮忙吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-09 14:47:06

首先,时间戳是数字,而不是字符串。因此,在默认情况下,日期显示为31-MAY-12 16.45.00.000000,但实际上是1970年以来的微秒数。

如果只想选择时间部分,请使用查尔()

代码语言:javascript
运行
复制
select to_char(acc_date_time, 'hh24:mi') time
,      count(*) occurences
from   cycling_accidents_2
group by to_char(acc_date_time, 'hh24:mi')

编辑:我认为第二个查询实际上回答了您的问题:

代码语言:javascript
运行
复制
select *
from   cycling_accidents_2 ca
where  to_char(ca.acc_date_time, 'hh24:mi') between '10:00' and '18:00'
and    ca.acc_date_time >= to_timestamp('01-01-2005', 'dd-mm-yyyy') 
and    ca.acc_date_time < to_timestamp('01-01-2013', 'dd-mm-yyyy')
票数 0
EN

Stack Overflow用户

发布于 2014-05-09 15:02:57

代码语言:javascript
运行
复制
SELECT * FROM CYCLING_ACCIDENTS_2 WHERE
(EXTRACT(YEAR FROM ACC_DATE_TIME) BETWEEN 2005 AND 2012)
AND
(EXTRACT(HOUR FROM ACC_DATE_TIME) BETWEEN 10 AND 18)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23567446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档