如题!
select Datediff(y ,recep_time,Getdate()) from vars1 这样读出来的无非就是
单独的 日期 (如:天。月。小时阿 ) 只能得到单独的时间
我想得到一个连贯的时间 如(滞留时间 = 当前时间- 申请时间)
公文标题 滞留时间 提交人
出差申请 10天11小时23分钟 admin
出差申请 16天22小时35分钟 admin
出差申请 16天22小时51分钟 admin
我想出来这样的效果!!!
select Datediff(y ,recep_time,Getdate()) from vars1 这样读出来的无非就是
单独的 日期 (如:天。月。小时阿 ) 只能得到单独的时间
我想得到一个连贯的时间 如(滞留时间 = 当前时间- 申请时间)
公文标题 滞留时间 提交人
出差申请 10天11小时23分钟 admin
出差申请 16天22小时35分钟 admin
出差申请 16天22小时51分钟 admin
我想出来这样的效果!!!
解决方案 »
- 怎么取字符串问题
- SQL文中使用LIKE 代替 =号 可以么?
- 这个sql怎么写?
- 求~数据库设计---后期要合并所以数据库的数据~急~在线等。。。
- ※※※※※※※※※※求一SQL语句※※※※※※※※※※
- 递交sql中的特殊字符问题
- EXCEL导入到SQL中,用邹大哥的方法有错误?在查询分析器里可以,为什么在存储过程中报错?
- 这是怎么了?从没遇到过~~
- 关于split用substring+charindex 把2008-06-14 变成20080614
- 存储过程里调用带参数存储过程为什么会出错?
- 如何根据某个字段为条件来求出一张表的聚合数据,然后将这些数据放入另一张表做为普通数据?
- 我的Web程序出现“警告: 严重错误 7102 ”错误,请高人帮忙解决,在线等待,解决立马给分!
select Datediff(y ,recep_time,Getdate())+Datediff(d,recep_time,Getdate())+.....
from vars1
试试!!
set @t='2006-10-10'
select convert(varchar(04),datediff(day,@t,getdate()))+'日'+convert(varchar(04),datediff(hour,@t,getdate())%24)+'小時'+convert(varchar(04),datediff(minute,@t,getdate())%60)+'分鐘'----------------------
45日15小時54分鐘
cast(Datediff(hour ,'2006-10-10 17:00',Getdate()) % 24 as varchar) + '小时' +
cast(Datediff(minute ,'2006-10-10 17:00',Getdate()) %60 as varchar) + '分钟' as 滞留时间
--45天23小时5分钟,应该是44天才对只能是用 datediff(minute 来 / 和 %------------------------------------------------------------------
if object_id('MyDateDiff') is not null drop function MyDateDiff
go
create function MyDateDiff(@BeginDate datetime, @EndDate datetime)
returns varchar(20)
as
begin
declare @n int,@s varchar(20)
set @n = datediff(minute, @BeginDate, @EndDate)
set @s = cast(@n / 60 / 24 as varchar) + '天'
set @n = @n % (60 * 24)
set @s = @s + cast(@n / 60 as varchar) + '小时'
set @s = @s + cast(@n % 60 as varchar) + '分钟'
return @s
end
go
select dbo.MyDateDiff('2006-11-01 16:00:00', getdate())
--22天23小时50分钟
drop function MyDateDiff
这个语句来 连哦。。 。小弟 语句不行2哦 请大家们 帮哈哦Select Distinct work_styleid,work_tablename,porxy_man,blac_id,proxy_endtime ,proxy_starttime ,push,task_name,proxy_id,curtaskid,task_index,table_id,role_id,isdeal,id,work_id,archives_id,work_name ,prears_man,curars_man,recep_time ,ars_owner From vars1 Where (((curars_man = 'admin' and (proxy_id='' or (proxy_starttime >=getdate() or proxy_endtime <=getdate())) and blac_id='C620346Z9VSY1SZ1CB7') or (proxy_id='KsUserC620346Z9VSY1SZ1CB7' and proxy_starttime <=getdate() and proxy_endtime >=getdate())) or (archives_id =(SELECT DISTINCT arsid FROM thead WHERE isdeal = 0 AND arsid = vars1.archives_id AND task_id = vars1.curtaskid AND role_key='KsUserC620346Z9VSY1SZ1CB7') and (blac_id='C620346Z9VSY1SZ1CB7' and (proxy_id='' or (proxy_starttime >=getdate() or proxy_endtime <=getdate())) or (proxy_id='KsUserC620346Z9VSY1SZ1CB7' and proxy_starttime <=getdate() and proxy_endtime >=getdate() )))) order by recep_time desc union (select cast(Datediff(day ,recep_time,Getdate()) as varchar) + '天' +
cast(Datediff(hour ,recep_time,Getdate()) % 24 as varchar) + '小时' +
cast(Datediff(minute ,recep_time,Getdate()) % 60 as varchar) + '分钟' as 滞留时间 from vars1)
好像有问题哦。。 应该怎么连哦。 。。 SQL高手们····快帮哈沃阿
select Col1, Col2, Col3, Col4, Col5
......
union
select null, BCol1, BCol2, null, null --union连接的select必须具有相同数目的字段,如果没有就用常量填,通常是空-null
......