数据库辅导:SQL自定义函数实现时间转换

数据库辅导:SQL自定义函数实现时间转换,第1张

数据库辅导:SQL自定义函数实现时间转换,第2张

数据库中显示了两个时差
Select DateDiff(分钟,' 2008-11-20 19: 20: 00 ',' 2008-11-20 20: 50: 00')
。这给你90分钟的时间

解决方案:
Select Convert (Varchar (5),DateAdd (SS,DateDiff (SS,' 2008-11-20 19: 20: 00 ',' 2008-11-20 20: 50: 00 ')。08)
我又问:
如果我的时差大于24小时,就不能正确显示。
应该显示小时是大于24的数字,而不是往回走。。
我们来求解
create函数[dbo]。[f _ second _ time](@ second int)
Returns varchar(16)
as
begin
/*根据传入的秒返回秒对应的时间,格式为天\小时\分钟\秒
CREATE BY CJS 2008-11-20
用法:SELECT DBO。[F _ second _ time] (214580)
注:可查询的秒数。
这和返回cast(@Hours as varchar(4))有关系,如果需要更精确的话
, 可以改为cast(@ hoursasvarchar(8))
*/
Declare @ secs int
Declare @ minsint
Declare @ hoursint
Declare @ days int
Set @ secs = @ second % 60-seconds
Set @ mins =(@ second-(@ second % 60))/60
Set @ hours =(@ mins-(@ Set @ mins = @ mins-@ hours * +' day '+
cast(@ hoursasvarchar(4))
+' hour '+
cast(@ minsas varchar(4))
+' minute '+
cast(@]*/
-如果想把它变成一天,就用上面提到的部分,也就是去掉*/,把下面的返回注释
return cast(@ hoursasvarchar(6))+' when '+cast(@即可-调用
select [dbo]。[f _ second _ time] (datediff (SS,' 2008-11-12 19:20:00 ')[/

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 数据库辅导:SQL自定义函数实现时间转换

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情