sql server 标值量函数
来源:互联网 发布:淘宝复制别人店铺模板 编辑:程序博客网 时间:2024/06/05 11:29
当需要处理一些数据,返回想要的数据的 时候 使用标值量函数
结构
CREATE FUNCTION 函数名称
(
@i int=0 函数需要的参数
)
RETURNS int 返回数据的类型
AS
BEGIN
Declare @ResultVar int=0 --声明返回的变量
--业务代码 此处省略
RETURN @ResultVar 返回变量
END
GO
案例
CREATE FUNCTION [dbo].[GetSetdate]
(
@Settlementrule NVARCHAR(500)='',
@Settime DATETIME
)
RETURNS DATETIME
AS
BEGIN
--只取到月份
DECLARE @MM VARCHAR(8)=''
DECLARE @Setdate DATETIME
--固定日期
IF(CHARINDEX('Fixed',@Settlementrule)>0)
BEGIN
DECLARE @daynuber INT=0
DECLARE @datestarone DATETIME
DECLARE @datestartwo DATETIME
DECLARE @daymax INT =0
--每月的固定日期
IF(CHARINDEX('MM',@Settlementrule)>0)
BEGIN
SET @daynuber =CAST(REPLACE(@Settlementrule,'Fixed:MM:','') AS INT)-1
SET @MM =CONVERT(varchar(100), @Settime, 23)
SET @datestarone= DATEADD(MM,1,@MM+'01')
SET @datestartwo= DATEADD(MM,2,@MM+'01')
SET @daymax= DATEDIFF(DD,@datestarone,@datestartwo)
IF(@daymax>=@daynuber+1)
SET @Setdate=DATEADD(DD,@daynuber,@datestarone )
ELSE
SET @Setdate=DATEADD(DD,@daymax-1,@datestarone )
END
--每周的固定周几
ELSE IF(CHARINDEX('WE',@Settlementrule)>0)
BEGIN
SET @daynuber =CAST(REPLACE(@Settlementrule,'Fixed:WE:','') AS INT)
SET @Setdate= DATEADD(DD,7-(DATEPART(WEEKDAY,CONVERT(varchar(100), @Settime, 23))-1)+@daynuber,CONVERT(varchar(100), @Settime, 23))
END
END
ELSE IF(CHARINDEX('Cycle',@Settlementrule)>0)
BEGIN
--每月周期
IF(CHARINDEX('MM',@Settlementrule)>0)
BEGIN
SET @daynuber =CAST(REPLACE(@Settlementrule,'Cycle:MM:','') AS INT)
SET @Setdate=DATEADD(MM,@daynuber,CONVERT(varchar(100), @Settime, 23) )
END
--每周的周期
ELSE IF(CHARINDEX('WE',@Settlementrule)>0)
BEGIN
SET @daynuber =CAST(REPLACE(@Settlementrule,'Cycle:WE:','') AS INT)
SET @Setdate=DATEADD(week,@daynuber,CONVERT(varchar(100), @Settime, 23) )
END
ELSE IF(CHARINDEX('DD',@Settlementrule)>0)
BEGIN
SET @daynuber =CAST(REPLACE(@Settlementrule,'Cycle:DD:','') AS INT)
SET @Setdate=DATEADD(DD,@daynuber,CONVERT(varchar(100), @Settime, 23) )
END
END
RETURN @Setdate
END
- sql server 标值量函数
- Sql Server基本函数
- Sql Server基本函数
- Sql Server 基本函数
- Sql Server基本函数
- SQL SERVER 的函数
- SQL SERVER 的函数
- SQL SERVER 的函数
- Sql Server基本函数
- Sql Server 基本函数
- Sql Server基本函数
- Sql Server基本函数
- sql server 日期函数
- Sql Server基本函数
- Sql Server基本函数
- Sql Server基本函数
- Sql Server基本函数
- Sql Server基本函数
- Too many arguments to function call
- 用JQuery Mobile做HTML5移动应用的三个优缺点
- 菜鸟的Linux学习笔记之命令shutdown
- 调用MyReport实现js直接打印
- 利用中文数据跑Google开源项目word2vec - hebin
- sql server 标值量函数
- Hive中partition如何使用
- android key keystore 签名文件信息查看 dos命令 cmd命令
- Maven仓库相关
- Android系统预安装可以被删除的APP
- VS2008中"fatal error C1083:无法打开包括文件:“Stdafx.h”: No such file or directory”
- web.xml加载顺序:context-param --> listener --> filter --> servlet
- 推荐12款优秀的 Twitter Bootstrap 组件和工具
- Java的反射机制