日期:2014-05-17  浏览次数:20369 次

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'