我想在SQL Server 2012上编写一个用户定义的函数,将任何值转换为String / Text。
当我检查SQL Server时,Convert函数参数的类型是"表达式",但我似乎无法将此类型用于我自己的用户定义函数。还有其他选择吗?
CREATE FUNCTION [dbo].[Text]
(
@value expression
)
RETURNS nvarchar(max)
AS
BEGIN
RETURN Convert(nvarchar(max), @value);
END
我收到以下错误消息:
列,参数或变量#1:找不到数据类型表达式。
答案 0 :(得分:1)
如果有人有兴趣,请找到答案:
CREATE FUNCTION [dbo].[Text]
(
@value SQL_VARIANT
)
RETURNS nvarchar(max)
AS
BEGIN
RETURN Convert(nvarchar(max), ISNULL(@value,''));
END
似乎做我需要它。
答案 1 :(得分:0)
为什么你想要内置功能,我不知道。但是,您需要的数据类型是sql_variant
创建功能[dbo]。[文字] ( @value sql_variant )