博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL语句创建函数
阅读量:4511 次
发布时间:2019-06-08

本文共 1431 字,大约阅读时间需要 4 分钟。

----先create,再alter

alter function fuc (@userid int,@strWhere varchar(max),@strWhere2 varchar(max) )  returns decimal(18,2 )

as
begin
declare @useridlist varchar(max)='',@res decimal(18,2)=0;
with cte as
(
    select ID,1 Layer from t_user  where ID=64
    union all
    select a.ID,Layer=Layer+1 from cte inner join t_user a on a.UPLineID=cte.ID  and cte.Layer<=4
)select @useridlist+=@useridlist+','+cast(ID as varchar(10)) from cte   where  cte.Layer<=3
 
declare @UserGradeDateLine varchar(max)='';
 select @UserGradeDateLine=UserGradeDateLine4 from t_user  where ID=64
    if(@UserGradeDateLine!='' and datediff(d,@UserGradeDateLine,@strWhere)>0 and datediff(d,@UserGradeDateLine,@strWhere2)>=0)
    begin
    select @res=isnull(sum(amount),0) from t_orderlucre  where CHARINDEX(','+CAST(UserID2 as varchar(10))+',',@useridlist+',')>0  and GroupSign =3  and ( datediff(mi,@UserGradeDateLine,AddTime)>0  and    datediff(d,AddTime,@strWhere2)>=0)   
    end   
    else
     begin
     select @res=isnull(sum(amount),0) from t_orderlucre  where CHARINDEX(','+CAST(UserID2 as varchar(10))+',',@useridlist+',')>0  and GroupSign =3  and ( datediff(d,@strWhere,AddTime)>0  and    datediff(d,AddTime,@strWhere2)>=0)     
     end
return @res;
end

 

--执行查询

 
  with cte as(select row_number() over(order by Amount DESC) RowID,*  from  ( select ID ,Phone ,dbo.fuc
(ID,'2018-03-28','2018-04-28') Amount from t_user)t where  1=1 )select * from cte where RowID>0 and
RowID<=15

转载于:https://www.cnblogs.com/weimingxin/p/8900499.html

你可能感兴趣的文章
iptables基本原理和规则配置
查看>>
黑马程序员——Objective-C——点语法、成员变量作用域、@property和@synthesize、id指针、构造方法...
查看>>
java调用matlab函数
查看>>
IOS自定义仪表盘
查看>>
第5次作业_078_刘玲志
查看>>
ZOJ 1184
查看>>
spring - aop 使用方式总结
查看>>
最后,我想对你说一句:我爱你
查看>>
使用jndi连接数据库
查看>>
Python---- 函数
查看>>
javascript中的函数作用域和声明提前
查看>>
Xcode10升级项目报错library not found for -lstdc++.6.0.9
查看>>
谷歌Chrome浏览器如何设置网页的默认编码方法
查看>>
ZOJ-1129-Erdos Numbers
查看>>
java学习第四天 类和变量
查看>>
IDEA中如何添加RunDashboard
查看>>
单例静态继承
查看>>
Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.2——设置Flavors和Variants...
查看>>
Android零基础入门第36节:Android系统事件的响应
查看>>
POJ 2262 Goldbach's Conjecture
查看>>