首页 > 解决方案 > 如何在sql server中创建一个函数来查找数据是否存在?

问题描述

需要知道创建函数的语法以及内联表值函数和多语句表值函数的区别。

标签: sql-serverfunction

解决方案


SCALAR FUNCTION 只返回一个标量/单个值。我们可以在 SELECT 语句、WHERE、GROUP BY、HAVING 子句中使用标量函数。我们必须在函数定义的 RETURNS 子句中提及该单个数据值的数据类型。

例如,下面的函数将日期作为“dd/mm/yyyy”格式的输入并从中返回日期和月份。这不是强制性的,函数总是接受一个输入参数,但它必须总是返回一个值。

create function GetDateDaynMonth(@date varchar(20))
returns varchar(20)
as
begin
    declare @DaynMonth varchar (20)
SELECT @DaynMonth = FORMAT (convert(datetime, @date, 103), 'dd MMMM') 
return @DaynMonth;
end
go

** - 执行功能 **

select dbo.GetDateDaynMonth('25/06/2018')

表值函数 表值用户定义函数返回结果集/行集,而不是单个/标量值。它可以在 SELECT 查询的 FROM 或 JOIN 子句中调用。

有关多个示例的更多详细信息

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-function-transact-sql?view=sql-server-2017


推荐阅读