欢迎来到天天文库
浏览记录
ID:40566289
大小:37.00 KB
页数:3页
时间:2019-08-04
《sql自定义函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQLServer2005自定义函数语汇小结由于工作的需要,了解下SQLServer2005函数的写法,现在总结一下:对于SQLServer2005数据库而言,函数与存储过程在语法方面是有很大的相同点,最大的不同就是函数有返回值,直接使用returns,而存储过程则使用output来声明输出变量一、下面先说明下,如何创建函数1、创建没有返回值与没有参数的函数CREATEFUNCTIONmy_function()ASBEGINDECLARE@variablevarchar(255)--声明字符型变量DECLARE@var
2、iableint--声明整形型变量...(dosomething)SET@variable='12345'--对变量variable赋值END2、创建没有返回值有参数的函数CREATEFUNCTIONmy_function(@user_Namevarchar(128),@passwordint(6))ASBEGINDECLARE@variable_1varchar(255)--声明字符型变量...(dosomething)SET@variable_1=@user_Name+convert(varchar(255),@p
3、assword)--将变量@user_Name与@password连接赋给@variable_1,其中convert()函数是将int型转为varchar型END3、创建有返回值与有参数的函数CREATEFUNCTIONmy_function(@user_Namevarchar(128),@passwordint(6))returnsvarchar(255)--设置返回值,记住是returns而不是returnASBEGINDECLARE@resultvarchar(5)DECLARE@faglevarchar(5)S
4、ET@result=selectusers.user_NamefromUSERSasuserswhereusers.user_Name=@user_Nameandusers.password=@passwordIF@result=''BEGINSET@fagle='NO'ENDELSEBEGINSET@falge='YES'ENDreturn@result--返回结果END二、删除一个函数语法DROPFUNCTIONmy_function三、执行一个函数语法selectdbo.my_function(...)--根据有
5、没参数来处理go--注:在SQLServer2005中,有内部函数与外部函数,数据库系统自带函数,如sum(),count()等等,这些称为内部函数,而我们自定义的函数称为外部函数。--在执行函数语法中,也有些区别,如执行内部函数:selectsum(total)from...,那么执行外部函数则需要在函数名前加dbo.+自定义函数名,如--selectdbo.my_function()--go四、下面提供二个例子1、日期判断,判断传进来的日期是否在上个月日到本月日之间--请注意convert()函数的用法create
6、functionisNewContract(@datevarchar(32))returnsvarchar(32)ASbegindeclare@begin_timevarchar(32)declare@end_timevarchar(32)declare@tempvarchar(4)declare@resultvarchar(32)declare@monthvarchar(2)set@begin_time=convert(varchar,DATEPART(year,getdate()))+'-'set@end_time
7、=convert(varchar,DATEPART(year,getdate()))+convert(varchar,DATEPART(month,getdate()))+convert(varchar,'14')set@temp=convert(varchar(2),(month(getDate())-1))if(@temp<10)beginset@begin_time=@begin_time+convert(varchar(1),'0')+@temp+'-'+convert(varchar,'15')endif(@
8、date>=@begin_timeand@date<=@end_time)beginset@result='是'endelsebeginset@result=@begin_timeendreturn@resultend2、查询多条记录合并成一条记录返回,并写入EXECL表中,进行分行换行显示,其中使用游标进行循环处理--在数据库中
此文档下载收益归作者所有