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

sql工作时间相加吗

发布时间: 2022-06-20 09:12:08

‘壹’ 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

‘贰’ oracle 时间相加 sql

两个时间怎么能相加?比如2017年9月6日 16点 + 2017年9月6日 16点 是多少?
能相加的是,时间 + 时间差(天数、小时数、或者分钟数 等),比如:2017年9月6日 16点 + 1小时10分 = 2017年9月6日 17点 10分
所以你的字段具体代表什么含义,才能决定你的代码是否可以执行
如果 cfrq 是 date类型,shrq 也是 date 类型,显然是不可以的
如果 cfrq 是 date类型,shrq 也是 number 类型,表示送货需要的时间(天数,可为小数),则dd.cfrq + dd.shrq "到达时间"是满足你最终需求的。

‘叁’ SQL中怎么实现时间相加。比如 我要实现 从今天的日期加30天为到期日。

如果是日期型,直接加30就行了,如果是
update time set indate=indate+30

我测试过了

‘肆’ sql时间加减问题

语法

DateDiff(interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

DateDiff(“m”, Now(), 生产日期)

interval 参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)包含以下设置:

设置 说明
yyyy 年
q 季度
m 月
y 某年的某一天
d 天
w 工作日
ww 周
h 时
n 分
s 秒

‘伍’ 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,然后再将类型转为时间

‘陆’ 请教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()) 当前时间+当前时间的小时数

‘柒’ sql语句怎么来对日期进行相加减

日期增减计算

使用DATEADD 函数

1> SELECT '现在' AS [日期], GETDATE() AS [数据]
2> UNION ALL
3> SELECT '下一秒' AS [日期], DATEADD(ss, 1, GETDATE() ) AS [数据]
4> UNION ALL
5> SELECT '下一分' AS [日期], DATEADD(mi, 1, GETDATE() ) AS [数据]
6> UNION ALL
7> SELECT '下一小时' AS [日期], DATEADD(hh, 1, GETDATE() ) AS [数据]
8> UNION ALL
9> SELECT '明天' AS [日期], DATEADD(dd, 1, GETDATE() ) AS [数据]
10> UNION ALL
11> SELECT '下周' AS [日期], DATEADD(ww, 1, GETDATE() ) AS [数据]
12> UNION ALL
13> SELECT '下月' AS [日期], DATEADD(mm, 1, GETDATE() ) AS [数据]
14> UNION ALL
15> SELECT '下季度' AS [日期], DATEADD(qq, 1, GETDATE() ) AS [数据]
16> UNION ALL
17> SELECT '明年' AS [日期], DATEADD(yy, 1, GETDATE() ) AS [数据]
18> go
日期 数据
-------- -----------------------
现在 2011-02-11 21:27:15.750
下一秒 2011-02-11 21:27:16.750
下一分 2011-02-11 21:28:15.750
下一小时 2011-02-11 22:27:15.750
明天 2011-02-12 21:27:15.750
下周 2011-02-18 21:27:15.750
下月 2011-03-11 21:27:15.750
下季度 2011-05-11 21:27:15.750
明年 2012-02-11 21:27:15.750

(9 行受影响)

两个日期之间的差值

1> SELECT '年' AS '日期部分', DATEDIFF(yy, '2012-12-21', GETDATE()) AS [数值]
2> UNION ALL
3> SELECT '季度' AS '日期部分', DATEDIFF(qq, '2012-12-21', GETDATE()) AS [数值]
4> UNION ALL
5> SELECT '月' AS '日期部分', DATEDIFF(mm, '2012-12-21', GETDATE()) AS [数值]
6> UNION ALL
7> SELECT '日' AS '日期部分', DATEDIFF(dd, '2012-12-21', GETDATE()) AS [数值]
8> UNION ALL
9> SELECT '周' AS '日期部分', DATEDIFF(ww, '2012-12-21', GETDATE()) AS [数值]
10> UNION ALL
11> SELECT '时' AS '日期部分', DATEDIFF(hh, '2012-12-21', GETDATE()) AS [数值]
12> UNION ALL
13> SELECT '分' AS '日期部分', DATEDIFF(mi, '2012-12-21', GETDATE()) AS [数值]
14> UNION ALL
15> SELECT '秒' AS '日期部分', DATEDIFF(ss, '2012-12-21', GETDATE()) AS [数值]
16> go
日期部分 数值
---- -----------
年 -1
季度 -7
月 -22
日 -679
周 -97
时 -16275
分 -976470
秒 -58588175

(8 行受影响)

‘捌’ access怎么写sql语句计算时间合计

最好用程序连接数据库,然后在执行SQL语句的前后都加上时间,两个时间相减就是sql语句的执行时间。

‘玖’ SQL 两个时间字段相加

如果类型为CHAR(5),结果仍为CHAR(5)
那么这样写

select newtime=
substring(
convert(varchar,
convert(datetime,time1,120)+convert(datetime,time2,120)
,120)
,12,5)

‘拾’ sql中判断同一天,同一月,同一年的工作时间总和

把时间转换成varchar型的,比较前面7位就可以了。

convert(varchar(7),time,126)用这个来比较你的时间time就可以了。