SQL Server2008存储过程中函数的用法(举例)
USE 数据库
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function 函数名称
(@EmpID nvarchar(50))
returns nvarchar(10)
as
begin
DECLARE
@TempDayID NVARCHAR(10), --費用計算日
@TempDayID1 NVARCHAR(10), --最後一天請非曠工假
@TempDayID2 NVARCHAR(10), --最後一天上班日(非責任制)
@VocaDayID NVARCHAR(10),
@VocaEmpID NVARCHAR(50),
@VocaTotalHours NUMERIC(7, 2),
@IsDuty NVARCHAR(1)
--查找離職人員请的最大非旷工假的請假日期
SELECT @TempDayID1=MAX(VocaDayID) FROM temp临时表 WHERE VocaEmpID=@EmpID AND ColType!='C04'
--查找離職人員的請假明細
SELECT @VocaEmpID=VocaEmpID,@VocaDayID=VocaDayID,@VocaTotalHours=VocaTotalHours ,@IsDuty=IsDuty
FROM temp临时表
WHERE VocaEmpID=@EmpID AND VocaDayID =@TempDayID1
--查找離職人員的最后上班日
SELECT @TempDayID2= MAX(A.DayID)
FROM 出勤表 A, 离职表签核明细表 B
WHERE A.EmpID=B.EmpID AND A.IsDuty='N' AND B.EmpID=@EmpID AND A.IsClass='Y' AND A.ABMinutes >=560
IF (@TempDayID IS NULL)
BEGIN
SET @TempDayID = CONVERT(NVARCHAR(10),DATEADD(DAY,0,@TempDayID1),111)
IF (@TempDayID1<@TempDayID2)
BEGIN
SET @TempDayID=@TempDayID2
END
ELSE IF(@TempDayID1>@TempDayID2)
BEGIN
IF(@VocaTotalHours<8)
BEGIN
SET @TempDayID= CONVERT(NVARCHAR(10),DATEADD(DAY,-1,@TempDayID1),111)\
END
ELSE
BEGIN
SET @TempDayID=@TempDayID1
END
END
END
return @TempDayID
end
SQL Server2008存储过程中函数的用法(举例)的更多相关文章
- SQL Server存储过程中使用表值作为输入参数示例
这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...
- [SQL]SUTFF内置函数的用法 (删除指定长度的字符并在指定的起始点插入另一组字符)
STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...
- sql 在存储过程中使用事务(转)
本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
- Sybase 存储过程中IF的用法
Sybase 存储过程中IF的用法 --@i_val 为参数 or @i_val is null then begin --执行内容 end; end if;
- ORACLE动态sql在存储过程中出现表或视图不存在的解决方法
Oracle动态sql在存储过程中出现表或视图不存在的解决方法 CREATE OR REPLACE PROCEDURE P_test is strsql varchar2(2000); BEGIN ...
- Sql Server存储过程和函数浅谈
今天给大家总结一下sql server中的存储过程和函数.本人是小白,里面内容比较初级,大神不喜勿喷 自行飘过就是.. 首先给大家简单列出sql server中的流控制语句,后面会用到的^_^ sql ...
- PL/SQL之存储过程和函数
1.创建存储过程 .1语法: CREATE[OR REPLACE] PROCEDURE [schema.] procedure_name[(argument[{IN|OUT|IN OUT}] data ...
- SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法
本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...
随机推荐
- ArcPy python实例教程-条件平差-测量平差
ArcPy python实例教程-条件平差-测量平差 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 输入参数:条件方程的系数,观测值,常数项和 ...
- h2的时间类型和函数
H2时间类型: (时间)TIME: 格式为 hh:mm:ss.对应到Java类型:java.sql.Time. (日期)DATE: 格式为 yyyy-MM-dd.对应到Java类型: java.sql ...
- AndoridSQLite数据库开发基础教程(6)
AndoridSQLite数据库开发基础教程(6) 为数据库添加添加空表 如果开发者想要往数据库中添加表和列,操作步骤如下: (1)在打开的数据库中,单击左下方的“+”按钮,弹出Table Edito ...
- Flutter StatefulWidget 有状态组件、页面上绑定数据、改变页面数据
在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget 是无状态组件,状态不可变的 widget ...
- php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?
本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg) ...
- NodeVisitor
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * * This library is open source ...
- 使用 evo 工具评测 VI ORB SLAM2 在 EuRoC 上的结果
http://www.liuxiao.org/2017/11/%E4%BD%BF%E7%94%A8-evo-%E5%B7%A5%E5%85%B7%E8%AF%84%E6%B5%8B-vi-orb-sl ...
- Spring MVC 数据转换和格式化
HttpMessageConverter和JSON消息转换器 HttpMessageConverter是定义从HTTP接受请求信息和应答给用户的 HttpMessageConverter是一个比较广的 ...
- java使用Sonic 算法对音频变速不变声、变调、调整音量
依赖库:https://github.com/waywardgeek/sonic 基础库:Sonic.java /* Sonic library Copyright 2010, 2011 Bill C ...
- Python - Django - session 的基本使用
urls.py: from django.conf.urls import url from app02 import views urlpatterns = [ # app02 url(r'^app ...