Sql server 当返回值为0时,从函数返回Nvarchar,然后返回其他数值
我有一个函数,在使用ID时从表中返回一个值 当在数据库中的值等于“00”的情况下运行此函数时,它会将值返回为0 这就是函数Sql server 当返回值为0时,从函数返回Nvarchar,然后返回其他数值,sql-server,tsql,stored-functions,Sql Server,Tsql,Stored Functions,我有一个函数,在使用ID时从表中返回一个值 当在数据库中的值等于“00”的情况下运行此函数时,它会将值返回为0 这就是函数 ALTER FUNCTION [dbo].[GetSystemParameter] ( @Parameter nvarchar(50) ) RETURNS nvarchar AS BEGIN DECLARE @return nvarchar(50) SELECT @return = [ParameterValue] FROM dbo.
ALTER FUNCTION [dbo].[GetSystemParameter]
(
@Parameter nvarchar(50)
)
RETURNS nvarchar AS
BEGIN
DECLARE @return nvarchar(50)
SELECT @return = [ParameterValue] FROM dbo.[SystemParameters] WHERE [ParameterName] = @Parameter
RETURN @return
END
选择值时
选择dbo.GetSystemParameter
返回0而不是“00”
如何获取返回00而不是0的值
提前通知你
James没有长度的字符类型使用默认长度。您已声明存储过程以返回nvarchar1。在SQL Server中,应始终使用以下类型的长度:
ALTER FUNCTION [dbo].[GetSystemParameter] (
@Parameter nvarchar(50)
)
RETURNS nvarchar(50) AS
BEGIN
DECLARE @return nvarchar(50);
SELECT @return = [ParameterValue]
FROM dbo.[SystemParameters]
WHERE [ParameterName] = @Parameter;
RETURN @return;
END;
标记您的数据库管理系统。ParameterValue是什么数据类型?将RETURNS nvarchar更改为RETURNS nvarchar?ParameterValue参数是NvarChar50Thank you Richard,现在可以正常工作了