SQL中怎么去掉一个变量的空,并且把结果用在一个存储过程的参数中,如下:
比如我有一个存储过程:sp_addlogin(系统内置的),现在我要调用它
declare @N='aaa '
exec sp_addlogin @N,@N,'database'
现在我要参数中的@N是'aaa'而不是'aaa '
------最佳解决方案--------------------declare @N='aaa '
set @N=ltrim(rtrim(@N))
exec sp_addlogin @N,@N,'database'
------其他解决方案--------------------加强版:去回车和换行加左空右空的
eclare @N='aaa '
set @N=REPLACE(REPLACE(ltrim(rtrim(@N)),char(13),''),char(10),'')
exec sp_addlogin @N,@N,'database'
------其他解决方案--------------------
不行吧,还是有空格
------其他解决方案--------------------declare @N NVARCHAR(20)='aaa '
SELECT @n=SUBSTRING(@n,1,PATINDEX('% %',@n)-1)
SELECT LEN(@n)
--exec sp_addlogin @N,@N,'database'