如何在SQL中创建标量值函数

在 SQL Server 中有两种类型的函数用于操作数据库中的数据。

  • 系统定义函数
  • 用户定义函数

SQL Server 提供了用于操作数据的系统定义函数列表。 这些系统定义函数是预定义的。 我们不能改变这些系统定义函数的功能。 在很多情况下,我们需要一个函数来根据我们的需要执行一些特定的任务。 有功能被称为用户定义功能。

SQL Server 中有三种类型的用户定义函数。

  • 标量值函数
  • 简单的表值函数
  • 多语句表值函数

标量值函数

标量值函数用于返回任何 T-SQL 数据类型的单个值。

用于创建billtbl表的语句

create table billtbl
(

billid int not null identity primary key,
vendorid int not null,
billno varchar(15),
billtotal money,

paymenttotal money,
creadittotal money
)

在billtbl表中插入数据的语句

insert into billtbl values (20,'e001',100,100,0.00)
insert into billtbl values (21,'e002',200,200,0.00)
insert into billtbl values (22,'e003',500,0.00,100)
insert into billtbl values (23,'e004',1000,100,100)

insert into billtbl values (24,'e005',1200,200,500)

在billtbl表中显示数据的语句

select * from billtbl

创建标量值函数的语句

CREATE FUNCTION fn_bd()
	RETURNS MONEY
BEGIN
	RETURN ( SELECT SUM(billtotal-paymenttotal-creadittotal)

	FROM dbo.billtbl
	WHERE billtotal-paymenttotal-creadittotal >0 )
END

使用标量值函数的语句

print '支出' + CONVERT(varchar,dbo.fn_bd(),1)
日期:2020-06-02 22:17:52 来源:oir作者:oir