22,210
社区成员
发帖
与我相关
我的任务
分享
SELECT UserID
,CASE WHEN DATEDIFF(d,RegDate,GETDATE()) BETWEEN 1 AND 30 THEN N'☆'
WHEN DATEDIFF(d,RegDate,GETDATE()) BETWEEN 31 AND 120 THEN N'☆☆'
WHEN DATEDIFF(d,RegDate,GETDATE()) BETWEEN 121 AND 360 THEN N'☆☆☆'
WHEN DATEDIFF(d,RegDate,GETDATE()) BETWEEN 361 AND 1000 THEN N'☆☆☆☆'
WHEN DATEDIFF(d,RegDate,GETDATE())>1000 THEN N'☆☆☆☆☆'
END
FROM tablename
create Trigger TR_Type on tablename
after update --当用户登陆的时候更新其登陆的天数
as
upadte tablename
set [Type]=case when dt between 1 and 29 then '☆'
when dt between 30 and 119 then '☆☆'
when dt between 120 and 359 then '☆☆☆'
when dt between 360 and 999 then '☆☆☆☆'
when dt >= 1000 then '☆☆☆☆☆'
end
from tb
begin
--1,这种写法简单,不过不灵活.
假设注册时间为DT.
select case when dt between 1 and 29 then '☆'
when dt between 30 and 119 then '☆☆'
when dt between 120 and 359 then '☆☆☆'
when dt between 360 and 999 then '☆☆☆☆'
when dt >= 1000 then '☆☆☆☆☆'
end
from tb
--2,这种看似复杂,不过灵活一些,当☆改为其他的符号时一样可以用.
建立三个字段(tb2)
col1 col2 col3
1 29 '☆'
30 119 '☆☆'
120 359 '☆☆☆'
360 999 '☆☆☆☆'
1000 99999'☆☆☆☆☆'
数据表tb1,其中含有注册时间字段
select col3 from tb1 , tb2 where datediff(day , tb1.dt , getdate()) between tb2.col1 and tb2.col2
--1
假设注册时间为DT.
select case when dt between 1 and 29 then '☆'
when dt between 30 and 119 then '☆☆'
when dt between 120 and 359 then '☆☆☆'
when dt between 360 and 999 then '☆☆☆☆'
when dt >= 1000 then '☆☆☆☆☆'
end
from tb
--2
建立三个字段
col1 col2 col3
1 29 '☆'
30 119 '☆☆'
120 359 '☆☆☆'
360 999 '☆☆☆☆'
1000 99999'☆☆☆☆☆'
select col3 from tb where datediff(day , dt , getdate()) between col1 and col2