zoukankan      html  css  js  c++  java
  • Sql Server创建函数

      在使用数据库的过程中,往往我们需要对有的数据先进行计算,然后再查询出来,所以我们就需要创建函数来完成这项任务,在数据库的Programmability(如图1)下面的Function中创建函数(如图2)

    (图1)(图2)

    在这里创建的函数一般有两种返回类型,一种是返回一个集合(数据表),另一种是直接返回一个字符串(如图3)

    (图3)

    下面是两种函数的创建实例

    1、集合

    创建函数fn_selectWorkTime

    Create FUNCTION fn_selectWorkTime
    (
        @plantID int
        , @CheckTime datetime --考勤时间
        , @deptID int --部门
        , @wShop int --工段
        , @roleID int --岗位
        , @wGroup int --班组
        , @uID int --员工
    )
    RETURNS @retValue Table (atWork datetime, offWork datetime)
    AS
    BEGIN
        Declare @onTime datetime
        , @offTime datetime
        
        --......
    
        Set @onTime = '2016-07-01 08:00'
        Set @offTime = '2016-07-01 17:00'
    
        Insert Into @retValue(atWork, offWork)
        Values(@onTime, @offTime)
    
        Return
    END

    在存储过程中调用所创建的函数

    Select * From dbo.fn_calStdAttAll(@plantid, @time1, @deptID, @wShop, @roleID, @wGroup, @uid5)

    2、字符串

    创建函数 fn_calStdAtt 

    CREATE FUNCTION fn_calStdAtt
    (
        @CheckTime datetime --考勤时间
        , @deptID int --部门
        , @wShop int --工段
        , @roleID int --岗位
        , @wGroup int --班组
        , @uID int --员工
        , @which char(1) --I:上班时间,O:下班时间
    )
    RETURNS varchar(20)
    AS
    BEGIN
        Declare @retValue datetime
        --......
    
        Set @retValue = '2016-07-01 08:00'
    
        Return Convert(varchar(20), @retValue, 120)
    END

    在存储过程中调用所创建的函数

    select dbo.fn_calStdAtt (@CheckTime, @deptID, @wShop, @roleID, @wGroup, @uID, @which)

    以上只是个人在开发中的总结,不足之处望大家多指教

    点滴积累,汇聚成河
  • 相关阅读:
    C# Stream篇(—) -- Stream基类-----转载
    C# Stream篇(三) -- TextWriter 和 StreamWriter---转载
    C#文件过滤器filter---转载
    微信列表展示与详情页
    关于微信表单添加与图片上传
    登录的php代码 接口开发
    文章列表与点赞的一些功能实现 以及详情页点赞、取消赞操作
    Linux 简单命令总结
    微信小程序实现登录功能 (第一种模式)
    201509-1 数列分段 Java
  • 原文地址:https://www.cnblogs.com/ABblog/p/5660610.html
Copyright © 2011-2022 走看看