使用声明的变量创建标量函数

Posted

技术标签:

【中文标题】使用声明的变量创建标量函数【英文标题】:Create scalar function with declared variables 【发布时间】:2020-02-10 20:08:48 【问题描述】:

我有一个验证简单查询,其中声明了一个变量。我想创建一个标量函数,它会自动将我写入变量的任何内容转换为我完成的字符串:

declare @name varchar(100) = 'firstnameLastname'

select @name + '@email.com'

我的目标是将此函数与随机字符串一起使用,它会自动将其转换为我的电子邮件字符串。例如:

select udfEmailConversion('RobertSequel')

它应该会自动返回:

RobertSequel@email.com

当我在查询中声明了变量时,如何创建标量函数?

【问题讨论】:

【参考方案1】:

如果您询问如何定义函数,语法如下:

create function udfEmailConversion (
    @base nvarchar(255)
) 
returns nvarchar(255)
as 
begin
     return @base + '@email.com'
end;

【讨论】:

嘿戈登!谢谢!如果@name 是表中的一列,它会是什么样子? @not_ur_avg_cookie 。 . .然后,您将在引用该表和列的 select 查询中调用该函数。

以上是关于使用声明的变量创建标量函数的主要内容,如果未能解决你的问题,请参考以下文章

表变量和错误“必须声明标量变量”

例外 |必须声明标量变量@IdAlbum

SQL Server:必须声明标量变量

查询“必须声明标量变量”

必须声明标量变量错误 ADO.NET

必须使用 dbcontext.Database.SqlQuery 声明标量变量“@custid”?