首页 新闻 会员 周边 捐助

SQL自定义函数如何 实现发表的时间显示为几个月,几天前,几小时前,几分钟前,或几秒前

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-09-15 09:01

如微博那样的显示时间 ,豆不多,求救

kensheng的主页 kensheng | 初学一级 | 园豆:80
提问于:2012-04-09 14:58
< >
分享
所有回答(4)
0

给个思路,先获得当前时间和发表时间之间的秒数。根据这个秒判断,如果<60就是几秒前,如果是<3600就是几分钟前

以此类推

死白的man | 园豆:2135 (老鸟四级) | 2012-04-09 15:03
0

用math的函数应该可以

math.min(1,3)

MingHao_Hu | 园豆:8 (初学一级) | 2012-04-09 15:19
0
Fishboy | 园豆:244 (菜鸟二级) | 2012-04-11 17:25
0

用SQL函数可以轻易实现, 可以根据所需查询的文章找出他的发表时间, 再计算出与当前时间相差多长, 最后返回就可以了,  如果返回有不同的类型, 则可以多定义一个时间间隔的参数, 指定返回秒, 时, 天等精度的整型数, 若需自动计算,则返回字符串, 如超过24小时则以天计等。。。

 

下面附一函数创建和调用的例子

create function test(@Num varchar(20))--@Num 参数
returns varchar(50) --返回值类型
as 
begin 
declare @MSG varchar(20)
if(@Num =1)
    select @MSG ='正确'
else
    select @MSG ='错误'
return @MSG 
end 
--调用函数
select dbo.test(2)--传递参数2
返回结果:错误

--创建返回Table类型的函数
USE pubs
create function GetTableDetails()
returns TABLE
as 
    return (select * from sales )

--调用函数
select * from dbo.GetTableDetails()--dbo.需要注意
返回sales表的所有记录。

Chao Hong | 园豆:244 (菜鸟二级) | 2012-04-25 17:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册