- 浏览: 208750 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (109)
- C# (29)
- ASP.NET (30)
- MSSQL (29)
- javascript (9)
- cmd (3)
- ORACLE (4)
- log4j (1)
- window (5)
- FTP (1)
- Shell (1)
- java (1)
- IIS (7)
- html (11)
- SQL (3)
- Jquery (11)
- IE (3)
- 火狐、谷歌 (2)
- wince (2)
- JSON (5)
- List (1)
- Foreach (1)
- SQLhelper (1)
- Ajax (1)
- Firebird (1)
- mysql (7)
- js (2)
- jQuery.autocomplete (1)
- dataTable (1)
- Http (1)
- get (1)
- datetime (1)
- powshell (1)
- URL Protocol (1)
- Office (1)
- Excel (1)
- ASP.NET,算法,秘钥 (1)
- 浏览器 (1)
- Tomcat (1)
最新评论
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')
8、
SELECT (CAST(datediff(second,StartDate,EndDate) AS FLOAT)/60)AS D
FROM Inventory WHERE RecordId = 2292549 --获取两个日期之差(单位 M)
实例二
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
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')
8、
SELECT (CAST(datediff(second,StartDate,EndDate) AS FLOAT)/60)AS D
FROM Inventory WHERE RecordId = 2292549 --获取两个日期之差(单位 M)
实例二
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
发表评论
-
用一条insert语句来插入多行数据
2016-05-23 10:35 1695oracle、sqlserver不支持inse ... -
关于distinct 和group by的去重逻辑浅析
2016-05-20 11:06 934在数据库操作中,我们常常遇到需要将数据去重计数的工作。例如: ... -
mysql和mssql关键字key的转义
2016-05-20 10:30 751mysql反引号``,它在键盘的~这个键上,SqlServer ... -
SQL几种分页语句性能对比
2014-03-07 10:35 450SET STATISTICS IO ON select * ... -
MSQL2005以上对象名sysproperties 无效的错误
2014-03-03 11:59 1364在MSSQL2008R2里面执行的时候报错:对象名syspro ... -
IN和EXISTS性能上的区别
2014-02-24 16:46 775在外表大内部小的情况下,EXISTS性能比IN快,如果两个表的 ... -
SQL Server 2000 ——系统表和系统视图
2014-02-17 10:26 1137一、一般存储过程 1、 ... -
新增链接服务器
2014-02-17 10:19 722新增链接服务器 if exists (select * fro ... -
在MSSQL2000里面 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1
2014-02-17 10:12 3147在MSSQL2000里面不支持该 sys.servers查看 ... -
SQL SERVER2008数据库中创建和删除链接服务器
2014-02-11 13:43 4975--在SQL SERVER 2008里,可以按以下的方式建立链 ... -
SQL Server获取某月某季某年最后一天的SQL语
2013-11-25 20:26 1305项目中用到的,获取已知年份的第一天和最后一天,觉得网来的不错, ... -
SQL IO、性能
2013-08-30 09:04 936转载地址:http://blog.csdn.n ... -
SET STATISTICS IO ON和获取表中的所有行
2013-08-14 11:58 641SET STATISTICS IO ON --通过来查看扫描 ... -
SQL CAST和CONVERT区别
2013-08-09 09:06 648一种数据类型的表达式转换为另一种数据类型的表达式。 CAS ... -
图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效
2013-07-24 11:15 3651图表处理程序配置 [c:\TempImageFiles\] 中 ... -
MS-SQL2005以上的版本解决Syscolumn表中数据不能修改
2013-07-06 11:41 542例如: 在MSSQL2000里面可以获取到相应的数据 获取Tr ... -
asp.net 在webcofig中连接数据库方式
2013-07-02 14:38 7101:window方式验证 <connectionStri ... -
解决用户 'IIS APPPOOL\Classic .NET AppPool' 登录失败 windows 7
2013-07-02 14:31 1077进入iis管理器 本地应用程序池 选中classic. net ... -
分页效果
2013-05-20 19:19 851转载http://jianfulove.iteye.com/b ... -
MS-SQL将已建的表的某个字段修改为默认的值
2013-05-15 16:48 777ALTER TABLE STOCK_INFO ADD CON ...
相关推荐
实现两个数值型的日期相减得出天数的函数。
java 两个日期相减得到的天数、毫秒数;获取两个日期中的最大日期;获取两个日期中的最小日期。
SQL语句中如何做到间隔行相减
WinForm中界面日期相减(DateTimePicker控件)
上个实例改进 java实现两个日期相减得到中间的年份和月份日期
javaScript和java中日期相减得出天数方案
广告位展示 数字日历 自定义对话框 日期相减 gallery广告位 相册上传
界面日期相减DateTimePicker,界面日期相减DateTimePicker
C# 日期相减 使用datatimer控件 简单易懂
mssql sqlserver 使用sql脚本实现相邻两条数据相减.docx
从外部输入4个无符号数,将前两个数相加,和存入内存30H单元;后两个数相减,差存入内存31H单元。并将两个结果分别输出。
两个日期相减获得之间的天数
汇编指令实现两个数字相减,通过汇编指令实现输出
主要介绍了C#实现两个时间相减的方法,实例分析了C#针对时间操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本篇文章是对sql server日期相减的实现进行了详细的分析介绍,需要的朋友参考下
西门子博途1200 时间相减
课程设计要求 设计一个程序实现两个矩阵的基本运算 两个矩阵相加 两个矩阵相减 两个矩阵相乘 求一个矩阵的转置矩阵 底层数据结构使用的是稀疏矩阵,用数组实现 使用C++语言,基于Qt5平台开发
日期加天数,日期减天数得到一个新日期,及两个日期天数相减得到一个天数,纯C语言,不用time.h库,不要加其它库函数。
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
使用Opencv内置函数实现两幅图像相减