首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL中如何去掉一个变量的空,并且把结果用在一个存储过程的参数中,如上

2012-12-14 
SQL中怎么去掉一个变量的空,并且把结果用在一个存储过程的参数中,如下:比如我有一个存储过程:sp_addlogin(

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'

热点排行