日期:2014-05-19  浏览次数:20632 次

如何连接累加字符串
Declare   @keyWords   nvarchar(1000)
Set   @keyWords= '联想|lenovo|NOKIA|诺基亚 '
Declare   @condition   nvarchar(2000)
Declare   @keyWord   nvarchar(100)
while   len(@keyWords)> 0
BEGIN
if(charIndex( '| ',@keyWords)> 0)
BEGIN
set   @keyWord=substring(@keyWords,0,charIndex(   '| ',@keyWords))
set   @keyWords=substring(@keyWords,charIndex( '| ',@keyWords)+1,len(@keyWords)-charIndex( '| ',@keyWords))
END
ELSE
BEGIN
set   @keyWord=@keyWords
set   @keyWords= ' '
END

set   @condition=@condition   +   '   OR   ([Name]   LIKE     ' '% '+@keyWord+ '% ' ') ';
--
END
PRINT   @condition
这里每次打印出@condition为空
如果这样写set   @condition= '   OR   ([Name]   LIKE     ' '% '+@keyWord+ '% ' ') ';就正常

------解决方案--------------------
set @condition=@condition + ' OR ([Name] LIKE % ' ' '+@keyWord+ ' ' '% '
------解决方案--------------------
Declare @condition nvarchar(2000)
set @condition = ' '--不加就为null