This is not a perfect solution, but it works
Create a temp table and copy the actual data to the temp table, check if the column has all zeros, if so then drop the column from temp table
if exists ( select * from tempdb.dbo.sysobjects o where o.xtype in ('U') and o.id = object_id(N'tempdb..#tbltemp'))
DROP TABLE #tbltemp;
CREATE TABLE #tbltemp( Dates varchar(9),col1 int, col2 int, col3 int)
insert into #tbltemp (dates,col1,col2,col3 ) select dates,col1,col2,col3 from Table1 ;
if not exists ( select * from #tbltemp where col3 <> 0 )
ALTER TABLE #tbltemp DROP COLUMN col3
if not exists ( select * from #tbltemp where col2 <> 0 )
ALTER TABLE #tbltemp DROP COLUMN col2
if not exists ( select * from #tbltemp where col1 <> 0 )
ALTER TABLE #tbltemp DROP COLUMN col1
select * from #tbltemp