创建用于转换为String的SQL快捷方式

时间:2014-08-07 14:06:51

标签: sql sql-server tsql sql-server-2012

我想在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:找不到数据类型表达式。

2 个答案:

答案 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 )