declare @allProvinceId varchar(1000)
set @allProvinceId=''
select @allProvinceId=@allProvinceId+CONVERT(varchar(10),ProvinceID)+',' from dbo.PROVINCE order by ProvinceID asc
select @allProvinceId查询结果为:
110000,120000,130000,140000,150000,210000,220000,230000,310000,320000,330000,340000,350000,360000,370000,410000,420000,430000,440000,450000,460000,500000,510000,520000,530000,540000,610000,620000,630000,640000,650000,710000,810000,820000,

解决方案 »

  1.   

    完全正确。
    只要字符不超过varchar(1000)
    这个就行
      

  2.   

    我就是想返回那一串id不想通过List或者DataTable,再通过循环来取
      

  3.   

    是可靠滴,可是你要注意@allProvinceId变量的长度可能会超过允许的最大值。所以,定义@allProvinceId可变变量的最大长度时,要有具体的思考,要对ProvinceID列有基本的估计,算算可能的最大长度。如果可能超过varchar类型的最大长度(应该为8000),就不要使用这样的方法了~~~