zoukankan      html  css  js  c++  java
  • MSSQL手札四 MSSQL的函数

    和oracle一样,sql也可以自己定义函数

    一个返回值,引用DEMO如下:

    编写一个函数,该函数,可以通过输入借书时间来判断是否到期,当借阅时间大于30天,返回已经过期;否则返回还未到期。
    
    CREATE FUNCTION IsDateout(@BDate datetime)
    returns nvarchar(20)
    AS
    BEGIN
        DECLARE @myresult nvarchar(20)
        IF (datediff(day,@BDate,getdate())>30)
        BEGIN
        SET @myresult='已过期'
        end
        else    
        begin
        set @myresult='未到期'
        end
        RETURN (@myresult)
    END
    
    SELECT dbo.IsDateout(cast('2009-12-17' AS datetime))--结果已过期
    SELECT dbo.IsDateout(cast('2010-12-17' AS datetime))--结果未到期

    在百度文库这里有一个基础介绍比较全,大家可以看一下:

    http://wenku.baidu.com/link?url=Z3ddYnO9msKYCgu-AjjkeG7jBtJCq4hkuNRp6_Y_6mrCSaK_CdmjygCoKqZVrwd5w7R4sVWaERSpBrFiRM4SYo5z_Q54kRGbAA188ThixqW

    注意的是begin前是returns,begin里面是return。

    一般情况下不要使用函数去调用存储过程,函数不可以更改数据库状态,函数也可以在内部返回一个表类型(table),类似一个可以传入参数的视图,并且还可以传入参数对表进行DML操作。

  • 相关阅读:
    几个数之和----数组刷题
    单调栈刷题
    腾讯金融科技凉经
    mysql刷题
    链表类题目常用方法
    阿里云一面凉经
    腾讯TEG一面凉经
    腾讯软件开发-后台开发实习生-一面凉经
    剑指 Offer 19. 正则表达式匹配
    剑指 Offer 20. 表示数值的字符串
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4277088.html
Copyright © 2011-2022 走看看