-
2020-04-20 17:45:26
DECLARE @ctime AS datetime, @mtime AS datetime;
SELECT @ctime = GETDATE(), @mtime = '2020-4-20 00:00:00';DECLARE @Days AS int, @Hours AS int, @Minutes AS int, @Seconds AS int;
SET @Seconds = DATEDIFF( second, @mtime, @ctime);
SET @Days = @Seconds / (24 * 60 * 60)
SET @Seconds = @Seconds - @Days * 24 * 60 * 60
SET @Hours = @Seconds / (60 * 60);
SET @Seconds = @Seconds - @Hours * 60 * 60
SET @Minutes = @Seconds / 60;
SET @Seconds = @Seconds - @Minutes * 60;SELECT CONVERT(varchar(10), @Days ) + '天' + CONVERT(varchar(10), @Hours ) + '小时' + CONVERT(varchar(10), @Minutes ) + '分' + CONVERT(varchar(10), @Seconds ) + '秒';
更多相关内容 -
sql中两个日期相减
2020-12-19 18:30:18sql中两个日期相减1、相差天数selecttrunc(sysdate,'yyyy')-to_date('2009-01-04','yyyy-mm-dd') fromdual;2、相差月数selectmonths_between(trunc(sysdate,'mm'),to_date('2009-01','yyyy-mm'))from dual;3、相差...sql中两个日期相减
1、相差天数
select
trunc(sysdate,'yyyy')-to_date('2009-01-04','yyyy-mm-dd') from
dual;
2、相差月数
select months_between(trunc(sysdate,'mm'),to_date('2009-01','yyyy-mm'))
from dual;
3、相差年数
select
trunc((months_between(trunc(sysdate,'dd'),to_date('2009-01-01','yyyy-mm-dd')))/12)
from dual;
4、select datediff( day, '2008.08.25', '2008.09.01' )
5、select datediff( second, '2009-8-25 12:15:12', '2009-9-1
7:18:20') --返回相差秒数
6、
select
datediff( minute, '2009-8-25 12:15:12', '2009-9-1 7:18:20')
--返回相差分钟数
7、
select
datediff( hour, '2009-8-25 12:15:12', 2009-9-1 7:18:20')
--返回相差小时数
问题三:select datediff( day, 2009-8-25 12:15:12', 2009-9-1
7:18:20')
实例二
use
pubs
select
distinct datediff(day, '2009-3-12', '2009-3-15') as difday
from
titles
结果:3
实例三
select
t1.*,t2.RESPONSE_TIME from dbo.CO_ALARM_RECORD
t1,dbo.CO_WORK_THRESHOLD t2 where t2.alarm_type_id=t1.alarm_type
and datediff( minute, alarm_time,
complete_time)>5
declare @dt1 as datetime, @dt2 as datetime;
select
@dt1 = '2008-8-4 9:36:41', @dt2 = '2008-8-2 9:33:39';
declare @days as int, @hours as int, @minutes as int, @seconds as
int;
set
@seconds = datediff( second, @dt2, @dt1);
set
@days = @seconds / (24 * 60 * 60)
set
@seconds = @seconds - @days * 24 * 60 * 60
set
@hours = @seconds / (60 * 60);
set
@seconds = @seconds - @hours * 60 * 60
set
@minutes = @seconds / 60;
set
@seconds = @seconds - @minutes * 60;
select
convert(varchar(10), @days ) + '天' + convert(varchar(10), @hours )
+ '小时' + convert(varchar(10), @minutes ) + '分' +
convert(varchar(10), @seconds ) + '秒';
下面来看个实例
我有一个表,其中有四个字段:开始天数,开始时间,到达天数,到达时间(这四个字段都是varchar类型)
例如:某一条记录: 1 16:00 2 12:20
我的目的就是用 select(到达天数+到达时间)-(开始天数+开始时间) as 花费时间 from table
例如上条记录得到的就是(2*24:00+12:20)-(24:00+16:00)=20:00
这样的sql语句该怎么写???
declare @t table
(
beginday int,
begintime varchar(20),
endday int,
endtime varchar(20)
)
insert
@t select 1,'16:00',2,'12:20'
union
all select 1,'3:00',3,'19:10'
select
date=rtrim(date/60)+':'+rtrim(date`)
from
(select date=datediff(mi,1,dateadd(d,endday-beginday,beginday)-begintime+endtime)from @t )t
date
-------------------------
20:20
64:10
方法二
declare @t table(开始天数 varchar(10),开始时间 varchar(10),到达天数
varchar(10),到达时间 varchar(10))
insert
@t select '1', '16:00','2','12:20'
--如果开始天数,到达天数大于31
select
到达天数 * 24 + datepart(hh,到达时间) - 开始天数 * 24 - datepart(hh,开始时间)
from
@t
-
sql语句中日期相减的操作
2022-03-22 21:42:11sql语句中日期相减的操作 GETDATE() 和 NOW() 查出来的时间一样 select GETDATE(),NOW() FROM t_表名; curdate() 只显示年月日 select curdate(),NOW() FROM TB_表名; 如果做减法,只能得到相差的天数 不想有...sql语句中日期相减的操作
1. 直接用日期时间做减法
- GETDATE() 和 NOW() 查出来的时间一样,都带时分秒
select GETDATE(),NOW() FROM t_表名;
- curdate() 只显示 年月日
select curdate(),NOW() FROM TB_表名;
- 如果直接做减法,只能得到两个时间相差多少天
select (NOW()-日期时间字段) FROM T_表名;
- 若不要 时分秒,可以考虑用 curdate()
select (curdate()-日期时间字段) FROM T_表名;
2. 使用 datediff 函数
- datediff 函数还有其他的玩法,在这就不多加赘述了。
- 两日期 间隔年
select datediff(year, 开始日期,结束日期) FROM T_表名;;
- 俩日期 间隔季
select datediff(quarter, 开始日期,结束日期) FROM T_表名;
- 俩日期 间隔月
select datediff(month, 开始日期,结束日期) from 表名;
- 俩日期 间隔天
select datediff(day, 开始日期,结束日期) FROM T_表名;
- 俩日期 间隔周
select datediff(week, 开始日期,结束日期) FROM T_表名;
- 俩日期 间隔小时
select datediff(hour, 开始日期,结束日期) FROM T_表名;
- 俩日期 间隔分
select datediff(minute, 开始日期,结束日期) FROM T_表名;
- 俩日期 间隔秒
select datediff(second, 开始日期,结束日期) FROM T_表名;
好的代码像粥一样,都是用时间熬出来的
-
sql日期相减得到天数【sql日期时间相减语句】
2020-12-19 18:30:17sql日期时间相减语句本款教程利用了datediff函数,来...sql中两个日期相减1、相差天数select trunc(sysdate,"yyyy")-to_date("2009-01-04","yyyy-mm-dd") from dual;2、相差月数select months_between(trunc(sysdat...sql日期时间相减语句
本款教程利用了datediff函数,来对数据库教程的日期进行相减查询哦,下面便写了n种关于mssql 日期相减的方法。
sql中两个日期相减
1、相差天数
select trunc(sysdate,"yyyy")-to_date("2009-01-04","yyyy-mm-dd") from dual;
2、相差月数
select months_between(trunc(sysdate,"mm"),to_date("2009-01","yyyy-mm")) from dual;
3、相差年数
select trunc((months_between(trunc(sysdate,"dd"),to_date("2009-01-01","yyyy-mm-dd")))/12) from dual;
4、select datediff( day, "2008.08.25", "2008.09.01" )
5、select datediff( second, 2009-8-25 12:15:12", 2009-9-1 7:18:20") --返回相差秒数
6、
select datediff( minute, 2009-8-25 12:15:12", 2009-9-1 7:18:20") --返回相差分钟数
7、
select datediff( hour, 2009-8-25 12:15:12", 2009-9-1 7:18:20") --返回相差小时数
问题三:select datediff( day, 2009-8-25 12:15:12", 2009-9-1 7:18:20")
实例二
use pubs
select distinct datediff(day, "2009-3-12", "2009-3-15") as difday
from titles
结果:3
declare @dt1 as datetime, @dt2 as datetime;
select @dt1 = "2008-8-4 9:36:41", @dt2 = "2008-8-2 9:33:39";
declare @days as int, @hours as int, @minutes as int, @seconds as int;
set @seconds = datediff( second, @dt2, @dt1);
set @days = @seconds / (24 * 60 * 60)
set @seconds = @seconds - @days * 24 * 60 * 60
set @hours = @seconds / (60 * 60);
set @seconds = @seconds - @hours * 60 * 60
set @minutes = @seconds / 60;
set @seconds = @seconds - @minutes * 60;
select convert(varchar(10), @days ) + "天" + convert(varchar(10), @hours ) + "小时" + convert(varchar(10), @minutes ) + "分" + convert(varchar(10), @seconds ) + "秒";
下面来看个实例
我有一个表,其中有四个字段:开始天数,开始时间,到达天数,到达时间(这四个字段都是varchar类型)
例如:某一条记录: 1 16:00 2 12:20
我的目的就是用 select(到达天数+到达时间)-(开始天数+开始时间) as 花费时间 from table
例如上条记录得到的就是 (2*24:00+12:20)-(24:00+16:00)=20:00
这样的sql语句该怎么写???
declare @t table
(
beginday int,
begintime varchar(20),
endday int,
endtime varchar(20)
)
insert @t select 1,"16:00",2,"12:20"
union all select 1,"3:00",3,"19:10"
select
date=rtrim(date/60)+":"+rtrim(date%60)
from
(select date=datediff(mi,1,dateadd(d,endday-beginday,beginday)-begintime+endtime)from @t )t
date
-------------------------
20:20
64:10
方法二
declare @t table(开始天数 varchar(10),开始时间 varchar(10),到达天数 varchar(10),到达时间 varchar(10))
insert @t select "1", "16:00","2","12:20"
--如果开始天数,到达天数大于31
select 到达天数 * 24 + datepart(hh,到达时间) - 开始天数 * 24 - datepart(hh,开始时间)
from @t
-
DB2 日期相减
2021-03-07 18:40:14标签:简单方法:使用 days字符型的日期:2012-01-01,2012-01-11values days(date(‘2012-01-11‘)) -days(date(‘2012-01-01‘))----------------------------10错误示例://sql.Append(" LEFT JOIN (SELECT COUNT... -
oracle中两个日期相减
2019-10-14 15:08:55Oracle两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 为相差的小时数 oracle 两个时间相减默认的是天数*24*60 为相差的分钟数 oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数 --MONTHS... -
如何让sql两个时间相减
2021-11-30 17:49:40select DATEDIFF( Hour, RealEndTime, RealStartTime) AS 时间差 from user (小时时间差) -
在SQLserver中如何获得两个日期相减的天数及日期函数
2016-03-24 15:23:24返回跨两个指定日期的日期和时间边界数。 语法 DATEDIFF ( datepart , startdate , enddate ) 参数 datepart 是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别... -
sql server 两个时间进行相减
2017-09-11 14:48:32两个日期相减小于30天 DATEDIFF(day,ta.apply_date,Convert(varchar(10),Getdate(),120)) -
sql中两个时间类型相减得到的值
2020-12-22 22:41:10今天有人把数据库两个time类型的字段查出来并做了减法,得到一个长形的数字。这个数字是什么?首先在数据库里建立一张test表(mysql的数据库)CREATE TABLE `NewTable` (`id` int(10) NOT NULL AUTO_INCREMENT ,`time1... -
SQL中将两个日期进行相减得到分钟或者秒
2020-09-26 19:45:271.SQL中将两个日期进行相减得到分钟或者秒 代码如下(示例): TIMESTAMPDIFF(MINUTE,createTime,endTime)// ...endTime减去createTine后的到分钟,如果后者小区前者...提示:这里是对用SQL实现对两个日期相减... -
SQL Server的日期相减 datediff函数
2021-04-22 16:04:22datediff(year, 开始日期,结束日期); --两日期间隔年 datediff(quarter, 开始日期,结束日期); --两日期间隔季 datediff(month, 开始日期,结束日期); --两日期间隔月 datediff(day, 开始日期,结束日期); --两日... -
sql年月日加减法,计算两个日期之间的天数
2021-01-10 17:39:57add_5month, date_add(year,-interval - 5 hiredate) as hd_sub_5year, date_add(year,interval 5 hiredate) as hd_add_5year from emp 2、计算两个日期之间的天数(时间字段为 hiredate,名称字段为 ename,... -
postgre 计算两个日期相减
2020-05-09 17:06:00date_part('day', cast(time1 as TIMESTAMP)- cast(time2 as TIMESTAMP)) select date_part('day', current_date - UPDATE_PWD_DATE ) from pure_user; -
mysql 两个日期相减获得时间差
2021-12-28 18:53:34mysql -
mysql两个日期相减,得到相差的天数
2019-05-22 18:03:17CURDATE() 获取当前服务器日期(YY-MM-DD) ...DATEDIFF(date1,date2) 两个日期相减函数,返回date1-date2相差的天数 SELECT CURDATE() FROM DUAL; SELECT DATEDIFF(CURDATE(),'2019-05-20') da... -
SQL日期字段查询和日期相减得到小时数并保留2位小数
2021-06-22 17:33:391、得到日期字段的不同格式 select RecordTime from [192.168.30.2].[SmartChargeLaiBao].[dbo].[HRVisitTime] a select convert(char(10),RecordTime,120) from [192.168.30.2].[SmartChargeLaiBao].[dbo].... -
mysql两个日期相减得到秒、分、天
2021-02-06 20:25:39一、MySQL中两个DateTime字段相减假定表名为tblName,两个DateTime字段名分别为beginDateTime,endDateTime,...得到两个日期字段之间的秒数selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime... -
SQL是计算两个日期相差多少天数的函数?
2021-01-21 11:33:20展开全部SQL是高e5a48de588b662616964757a686964616f31333365633961级的非过程化编程语言,一般针对数据库进行操作。定义:datediff(day/month/year,startdate,enddate)日期函数:(要返回的天数/月数/年数,开始日期,... -
sql 两个时间相减 根据生日获取年龄 分组统计
2019-09-10 16:48:34根据生日获取年龄 select birthday,DATEDIFF(now(),birthday)/365 age FROM lg_lawyer_base where not ISNULL(birthday) and isDeleted = 0; 使用当前DATEDIFF函数 用当前时间NOW()减去生日birthday 在除以365,... -
mysql 中两个日期相减获得 天 小时 分钟 或者 小时:分钟的格式
2021-01-14 13:45:02/**有一个需求,要求获得两个日期想减的天数,小时数,分钟数。通过查找资料,于是乎我写出了如下代码,来获得两个字段。*/IFNULL(CONCAT( IF(aib.`forecast_reply_time`-aib.`actual_reply_time` < 0,'-',''),IF... -
SQLSERVER 处理两个日期相减
2012-02-20 21:54:00返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) DateDiff 函数语法中有下列命名参数: 部分 描述 ... -
mysql数据库中两个日期相减并且精确到分钟或者天数
2019-06-20 14:59:59一、MySQL中两个DateTime字段相减 假定表名为tblName,两个DateTime字段名分别为beginDateTime,endDateTime,以下是相关两个mysql日期字段相减的SQL语句,这种方式两字段跨天,月...得到两个日期字段之间的秒数 se... -
sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数?
2020-08-23 14:03:32sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数? Oracle的话直接有months_between函数但是直接用的话会有小数 select Months_Between(a.D1,a.D2) c from AAA a; select Months_Between... -
sql server:两个时间相减得到XX天XX小时XX分XX秒
2019-10-09 15:47:39假设Out_time - In_time 得到X秒,datediff(单位,被减数,减数),单位可以是MS、SS、HH、DAY等单位 1.X/(3600*24) 得到XX天; 2.X%(3600*24)/3600得到XX小时; 3.X%(3600*24)%3600%60得到XX分; 4.X%60得到XX秒;... -
MYSQL怎么实现两个表相减这样的SQL语句
2020-12-20 09:25:20{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行...