MSSQL手札四 MSSQL的函数
2024-10-15 04:39:07
和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操作。
最新文章
- Daily Scrum 12.13
- mysql-2 mysql客户端
- POJ 1458 1159
- POJ 1054 The Troublesome Frog
- linux 使用 ionice 限制 Xen 虚拟机磁盘 IO
- WSDL Style和use的组合方式说明
- 类模板的困扰 LNK2019 (转)
- VLSI和ASIC的区别(转)
- MySQL分页实现
- Oracle如何还原数据库
- Java反射-修改字段值, 反射修改static final修饰的字段
- Spring Maven 包的依赖
- Github上star和fork比较高的vim配置方案
- oracle-systemtap
- HTML+CSS浏览器兼容性问题
- Docker环境准备-安装Ubuntu
- 数组实例 find和filter差异
- 【LAMP整合Redis键值缓存为库分担压力】
- 速记JVM内存模型和垃圾回收策略
- jQuery学习笔记(8)--表格筛选