sql自定义函数

sql自定义函数

ID:40566289

大小:37.00 KB

页数:3页

时间:2019-08-04

sql自定义函数_第1页
sql自定义函数_第2页
sql自定义函数_第3页
资源描述:

《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表中,进行分行换行显示,其中使用游标进行循环处理--在数据库中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。