当前位置:首页 » 编程语言 » sql时间减一小时
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql时间减一小时

发布时间: 2022-07-21 07:34:27

⑴ 如何实现在sql语句中加减小时

select DATEADD(HH, 1, GETDATE()) 写上-1 就是减,当然你那日期需要正常日期,如果不是可以用convert来转

⑵ sqlserver2008时间转换问题,(拿上一个小时的数据)求解。

下面那个写的意思取得是当前小时内的数据,上面减一的取得是上个小时的数据,首先你要确定表里有没有满足减一时间条件的数据

⑶ 请教oracle中用sql时间相减的问题

这个问题。。。。
给你个详细的回答吧 以后就不再担忧这方面的任何问题

Oracle计算时间差表达式

--获取两时间的相差豪秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;
/*
相差豪秒数
----------
86401000
1 row selected
*/

--获取两时间的相差秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL;
/*
相差秒数
----------
86401
1 row selected
*/

--获取两时间的相差分钟数
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60) 相差分钟数 FROM DUAL;
/*
相差分钟数
----------
1441
1 row selected
*/

--获取两时间的相差小时数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24) 相差小时数 FROM DUAL;
/*
相差小时数
----------
25
1 row selected
*/

--获取两时间的相差天数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) 相差天数 FROM DUAL;
/*
相差天数
----------
2
1 row selected
*/

----------------------------------------
注:天数可以2个日期直接减,这样更加方便
----------------------------------------

--获取两时间月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from al;
/*
MONTHS
----------
13
1 row selected
*/

--------------------------------------
注:可以使用months_between函数,更加方便
--------------------------------------

--获取两时间年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from al;
/*
YEARS
----------
1
1 row selected

⑷ SQL 时间相减,精确到小时

可以通过datediff函数进行时间差:
sql :select datediff(hh,'2012-12-11 8:00:00','2012-12-11 09:31:47') from al ;
语法:
DATEDIFF ( datepart , startdate , enddate )
datepart 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns

⑸ sql~日期格式如何相减

1、简单介绍一下datediff()函数。

DATEDIFF()函数返回两个日期之间的天数。

语法:

DATEDIFF(datepart,startdate,enddate)

startdate和enddate参数是合法的日期表达式。

datepart参数可以是下列的值:

⑹ SQL请教大家一个日期的加减法

ql语句处理时间——日期加减天数如下:

select date_add(now(), interval 1 day); -- 加1天

select date_add(now(), interval 1 hour); -- 加1小时

select date_add(now(), interval 1 minute); -- 加1分钟

select date_add(now(), interval 1 second); -- 加1秒

select date_add(now(), interval 1 microsecond);-- 加1毫秒

select date_add(now(), interval 1 week);-- 加1周

select date_add(now(), interval 1 month);-- 加1月

select date_add(now(), interval 1 quarter);-- 加1季

select date_add(now(), interval 1 year);-- 加1年

(6)sql时间减一小时扩展阅读

SQL中常用日期函数

1、GETDATE() 返回当前系统日期;

SELECT GETDATE()

2、DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回;

--常数为正

SELECT DATEADD(YY,1,GETDATE())

--等同于

SELECT DATEADD(YEAR,1,GETDATE())

--常数为负数

SELECT DATEADD(YY,-2,GETDATE())

--常数为小数(直接舍去小数部分)

SELECT DATEADD(YY,2.4,GETDATE())

SELECT DATEADD(YY,2.5,GETDATE())

SELECT DATEADD(YY,2.6,GETDATE())

⑺ SQL 时间加减

select * from table
where 卡号='123'
and datediff(mi,convert(datetime,日期 +' ' + 时间),'2010/06/20 08:05:00') between -5 and 5
后面的就是日期和时间和在一起的时间
虽然这样可以实现,但是建议把2个字段和在一起用datetime类型

⑻ 求教sql语句两个日期、时间字段相减得到天数小时分秒的问题

selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
cast(dayasvarchar)+'天'+cast((hour-day*24)asvarchar)+'小时'+
cast((minute-hour*60)asvarchar)+'分'+
cast((second-minute*60)asvarchar)+'秒'result
from(
selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
datediff(d,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))day,
datediff(hh,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))hour,
datediff(n,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))minute,
datediff(s,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))second
fromworkflow_currentoperator
whereworkflowid=297andrequestid=110215
)t
orderbyreceivedate,receivetime

⑼ SQL 当天日期减去一天 应该如何写

SQL语句使用DATEADD得到一个时间加上或减去指定天数之后的时间。也适用于小时、分钟、秒钟等等

DATEADD() 函数功能:在日期中添加或减去指定的时间间

语法:DATEADD(datepart,number,date)

date参数是合法的日期表达式。number是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart参数可以是下列的值: