![](/img/trans.png)
[英]Oracle - get data from first day of previous month at particular time to first day of current month at particular time
[英]get data on particular timings of the day in a month in SQL
如何获取过去一个月的上午6点至上午9:15之间发布票证的时间范围的数据。 我试过了但是错了,它在oracle和to_char中不是SQL中的函数名。 我该如何在sql中做到这一点。
select *
from [ICPS].[dbo].[tickets]
where t_date_time_issued > sysdate - 30
and to_char(t_date_time_issed, 'hh24:mi:ss') >= '06:00:00'
and to_char(t_date_time_issued, 'hh24:mi:ss') <= '09:15:00'
您可以使用to_timestamp()
代替to_char
。 有关to_timestamp()
详细信息是: http : to_timestamp()
希望会有所帮助!
假设您希望在SQL-Server中使用它(“在oracle中它是datetme
,在SQL中不是函数名”),则可以将datetme
为time
:
SELECT *
FROM [dbo].[tickets]
WHERE t_date_time_issued > DATEADD(mm, - 30, GetDate())
AND Cast(t_date_time_issued as TIME) between '06:00' and '09:10'
尝试这个:
SELECT
*
FROM
[ICPS].[DBO].[tickets]
WHERE
t_date_time_issued BETWEEN add_months(TRUNC(SYSDATE, 'MM'), - 1) AND (
TRUNC(SYSDATE, 'MM') - (1/24/60/60))
AND TO_CHAR(t_date_time_issed, 'HH24:MI:SS') >= '06:00:00'
AND TO_CHAR(t_date_time_issed, 'HH24:MI:SS') <= '09:15:00'
SELECT *
FROM [ICPS].[dbo].[tickets]
WHERE convert (datetime,t_date_time_issued,101)
between convert(datetime,'2013/11/01',101) and convert (datetime,'2013/12/04',101)
AND datepart(hour,t_date_time_issued) between '06' and '09'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.