A. 各位大哥:sql 语句中求两个时间相加的函数,比如08:30 我现在要在些基础上加上45分钟,我应该要怎写
如果是sql server可以用dateadd来实现
declare @t time
set @t = '08:30'
select DATEADD(minute,45,@t);
B. SQL语句 时间相加问题
时间类型不能简单的相加
我写了一个很复杂的语句,你试试吧
SELECT 用户, CONVERT(varchar(8), CONVERT(DATETIME, CONVERT(VARCHAR,
SUM(SUBSTRING(CONVERT(varchar(8), 时间, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 7, 2)) / 3600)
+ ':' + CONVERT(VARCHAR, SUM(SUBSTRING(CONVERT(varchar(8),
时间, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 7, 2)) % 3600 / 60)
+ ':' + CONVERT(VARCHAR, SUM(SUBSTRING(CONVERT(varchar(8),
时间, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 时间, 108), 7, 2)) % 3600 % 60)), 108)
AS 总计
FROM 表
GROUP BY 用户 order by 总计 desc
大致思路是将时间转发为秒然后按用户group by分组求sum,然后再将类型转为时间
C. 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年
(3)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())
D. 请教SQL日期小时数相加的问题
(1)dateadd 方法,当前时间加一个数
select dateadd(hour,5,getdate()) 当前时间加5小时
select dateadd(day,5,getdate()) 当前时间加5天
select dateadd(month,-1,getdate()) 当前时间减1个月
select dateadd(year,1,getdate()) 当前时间加1年
(2)dateadd和datepart 方法,当前时间+B时间的小时数
datepart就是取datetime类型时间的时间部分,第一个参数就是你想取的部分,hour就是取小时
select dateadd(hour,datepart(hour,getdate()),getdate()) 当前时间+当前时间的小时数
E. SQL时分秒之间相互转换
我们先来声明一个时间单位是秒的变量,方面下面用
declare @a int = 2000 ----变量@a,2000秒
select convert( varchar(10), @a / 3600) + '时' + convert( varchar(10), @a % 3600 / 60) + '分' + convert( varhcar(10), @a % 3600 % 60) + '秒'
select convert( varchar(10), @a / 60) + '分' + convert( varchar(10), @a % 60) + '秒'
declare @b int = 2000 ----变量@b , 2000分
写法一:select convert( varchar(10), @a / 60) + '时' + convert( varchar(10), @a % 60) + '分'
写法二:select @a = (case when @a / 60 = 0 then '' else cast (@a / 60 as varchar) + 'h' end) + (case when @a % 60 = 0 then '' else cast (@a % 60 as varchar) + 'min' end) from table
F. sql语句 时间相加
CREATETABLEt_count_user(idINT,userIdVARCHAR(12),NAMEVARCHAR(20),starttimeDATETIME,endtimeDATETIME)
INSERTINTOt_count_userVALUES(1,'001','张三','2015-06-2516:05:59','2015-06-2516:09:59');
INSERTINTOt_count_userVALUES(2,'001','张三','2015-06-2111:05:59','2015-06-:12:59');
INSERTINTOt_count_userVALUES(3,'001','张三','2015-06-2413:05:59','2015-06-2415:09:59');
INSERTINTOt_count_userVALUES(4,'002','李四','2015-06-2516:05:59','2015-06-2516:09:59');
INSERTINTOt_count_userVALUES(5,'002','李四','2015-06-2111:05:59','2015-06-:12:59');
INSERTINTOt_count_userVALUES(6,'002','李四','2015-06-2413:05:59','2015-06-2415:09:59');
SELECTuserId,NAME,SUM(TIMESTAMPDIFF(MINUTE,starttime,endtime))
FROMt_count_user
GROUPBYuserId,NAME
G. sql语句怎么来对日期进行相加减
相减是计算二个时间的差值,这个应该有函数,好像是 DateDiff ,具体用法比较简单:DateDiff(计算的时间值,计算的开始时间,计算的结束时间) ,其中“计算的时间值 ”包括秒(s)、分(n)、时(h)、日(d)、月(m)、年(yyyy)。
但二个日期或时间相加是什么?好像没有这样的运算吧?也可能是我孤陋寡闻吧。
H. SQL 两个时间字段相加
如果类型为CHAR(5),结果仍为CHAR(5)
那么这样写
select newtime=
substring(
convert(varchar,
convert(datetime,time1,120)+convert(datetime,time2,120)
,120)
,12,5)
I. sqlserver当前时间的数求和
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!把时分秒分段截出来汇总,然后秒=秒总数%60 分=(分总数+秒总数/60)%60 时=时总数+(分总数+秒总数/60)/60,汇总时分秒求出以后拼装一下就好了非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!