Click here to Skip to main content
15,922,166 members
Please Sign up or sign in to vote.
1.80/5 (2 votes)
See more:
My store procedure as follows

SQL
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
 
ALTER proc [dbo].[Presea_RefresherSMS] 
as
begin
   declare @Course varchar(20),

   @NoofStudents varchar(20),
   @Rowcount int,
   @batchid varchar(20),
   @CourseDate varchar(10),
   @OutputString VARCHAR(MAX) 
 
   select @CourseDate =CONVERT(VARCHAR(10), GETDATE(), 101)
   set @OutputString=''
 
   create table #TempTable (course varchar(10), Noofstudents varchar(10))
 
   begin tran
      declare courses Cursor for
 
      select cmn_minor_code as Course_Name,cbm_batch_id as Batch_ID from co_batch_master where cbm_active <> 'D' and cbm_batch_start_dt = '01/13/2014' and cmn_minor_code in('RFPFF','R-AFF','RFPFF_C')
 
      open courses
      fetch next from courses into @Course,@batchid
      while @@Fetch_status = 0 
      begin
         begin tran 
            declare studentcount cursor for
            select count(*) from batch_course_registration a,course_registration b
            where b.cr_bill_no = a.cr_bill_no and a.bcr_batch_id = @batchid and b.cr_active = 'A'

            open studentcount
            fetch next from studentcount into @Rowcount
            while @@Fetch_status = 0
            begin
               SET @OutputString=@OutputString +' ' +@Course +' '+ convert(varchar,LTRIM(@Rowcount))
               fetch next from studentcount into @Rowcount
            end
				
            close studentcount
            deallocate studentcount
         commit tran

         fetch next from courses into @Course,@batchid
      end
		
      close courses
      Deallocate courses
   commit tran

   select @OutputString
end


When i run the above store procedure shows output as follows

exec [Presea_RefresherSMS]
RFPFF                16 R-AFF                16 RFPFF_C              6


But i want output as follows
RFPFF 16 R_AFF 16 RFPFF_C 6


i want to avoid white spaces in my store procedure output.
for that how can i trim the string.

please help me.

Regards,
Narasiman P.

indentation reduced
Posted
Updated 12-May-14 1:07am
v4
Comments
Kornfeld Eliyahu Peter 12-May-14 6:16am    
OT - you are using a bit too much cursors here. Cursor is one of the most resource expensive thing in SQL, so try to avoid them. Google solutions on how to run loops in SQL without cursor...
Kornfeld Eliyahu Peter 12-May-14 7:07am    
How table co_batch_master declared?
Maciej Los 12-May-14 7:33am    
Avoid of white space...
I'd like to ask you:
1) Who's the author of below line:
SET @OutputString=@OutputString +' ' +@Course +' '+ convert(varchar,LTRIM(@Rowcount))
2) Who's adding spaces?

SQL
Declare @String nvarchar(max)

set @String = 'RFPFF                16 R-AFF                16 RFPFF_C              6'
select @String, REPLACE(REPLACE(REPLACE(@String,' ','{}'),'}{',''),'{}',' ')
 
Share this answer
 
If you want to remove whitespaces at the end use ltrim or rtrim.
For replacing all whitespaces, try SELECT REPLACE(fld_or_variable, ' ', '')
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900