本文主要主要讲解了//www.webjx.com/'>://www.webjx.com/database/sqlserver/'>SQL Server数据库中函数的两种用法,具体内容请参考下文:
1. 由于update里不能用存储过程,并且由于根据更新表的某些字段还要进行计算。所以很多人采用的是游标的方法,在这里我们可以用函数的方法实现。
函数部分:
CREATE FUNCTION [DBO].[FUN_GETTIME] (@TASKPHASEID INT) RETURNS FLOAT AS BEGIN DECLARE @TASKID INT,
@HOUR FLOAT, @PERCENT FLOAT, @RETURN FLOAT IF @TASKPHASEID IS NULL BEGIN RETURN(0.0) END SELECT @TASKID=TASKID,@PERCENT=ISNULL(WORKPERCENT,0)/100 FROM TABLETASKPHASE WHERE ID=@TASKPHASEID SELECT @HOUR=ISNULL(TASKTIME,0) FROM TABLETASK WHERE ID=@TASKID SET @RETURN=@HOUR*@PERCENT RETURN (@RETURN) END
调用函数的存储过程部分:
2. 我们要根据某表的某些记录,先计算后求和,因为无法存储中间值,平时我们也用游标的方法进行计算。但//www.webjx.com/'>://www.webjx.com/database/sqlserver/'>SQL Server 2000里支持。
是常量、列或函数,或者是算术、按位与字符串等运算符的任意组合。因此我们可以利用这一功能。