sql代码如下:
declare @dhhm as varchar(2000) --定义了变量电话号码 如果不给它赋值的则为null,后面字符串拼接的时候就会报错
declare @rcount as int --定义变量数量!!!!!!!!!!!!!!
set @rcount=0 --这里必须给变量赋值为0 否则就是null后面 无法++!!!!!!!!
DECLARE @mobilnumber nvarchar(2000)
DECLARE MyCursor1 CURSOR --定义游标
FOR select mobilephone from sys_user where fullname in (select * from f_splitSTR('system,杨银',','))
OPEN MyCursor1 --打开游标
FETCH NEXT FROM MyCursor1 INTO @mobilnumber
--print ('游标开始查找数据')
print ('foreach的状态'+convert(varchar(200),@@fetch_status))
while(@@fetch_status=0)
BEGIN
set @dhhm = isnull(@dhhm,'')+@mobilnumber+',' --这里使用了isnull方法判断变量@dhhm的值 如果为null则赋值为空字符串,这样就不会引起 字符串拼接的错误了.
--如果这里不想用isnull的话,在@dhhm,定义变量后,要给 @dhhm赋值为空即可,如:set @dhhm=''
set @rcount = @rcount+1
FETCH NEXT FROM MyCursor1 INTO @mobilnumber
END
--关闭游标
CLOSE MyCursor1
--释放资源
DEALLOCATE MyCursor1
print @dhhm
print ('短信数量'+convert(varchar(20),@rcount))
---- 来自jb51.cc
原文链接:https://www.f2er.com/mssql/530196.html