读书人

SQL中如何去掉一个变量的空并且把结

发布时间: 2012-12-14 10:33:07 作者: rapoo

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'



[其他解释]
引用:
比如我有一个存储过程:sp_addlogin(系统内置的),现在我要调用它
declare @N='aaa '
exec sp_addlogin @N,@N,'database'
现在我要参数中的@N是'aaa'而不是'aaa '

不行吧,还是有空格
[其他解释]
declare @N NVARCHAR(20)='aaa                     '
SELECT @n=SUBSTRING(@n,1,PATINDEX('% %',@n)-1)
SELECT LEN(@n)
--exec sp_addlogin @N,@N,'database'

读书人网 >SQL Server

热点推荐