Sorry mate, your sample is very obscure to me and I don't have my Crystal Ball with me today to see what you can see on your site.
Your sample doesn't correspond to what you posted in your first request. I cannot see what really problem you have, If I try to translate of what you have said I got the following:
-- that what I can see as your table:
declare @tbl table
(
Col1 VARCHAR(10), ExpDate1 DATETIME,
Col2 VARCHAR(10), ExpDate2 DATETIME,
Col3 VARCHAR(10), ExpDate3 DATETIME,
Col4 VARCHAR(10), ExpDate4 DATETIME,
Col5 VARCHAR(10), ExpDate5 DATETIME)
-- If you want to search for string in "CONCATENATED" value of above columns you can do the following:
;with cte
as
(
select *
,Col1+' '+CONVERT(varchar(30),ExpDate1, [whateverformatyouwant]) + ' '
+Col2+' '+CONVERT(varchar(30),ExpDate2, [whateverformatyouwant]) + ' '
+Col3+' '+CONVERT(varchar(30),ExpDate3, [whateverformatyouwant]) + ' '
+Col4+' '+CONVERT(varchar(30),ExpDate4, [whateverformatyouwant]) + ' '
+Col5+' '+CONVERT(varchar(30),ExpDate5, [whateverformatyouwant]) AS ConcatenatedCol
from @tbl
)
select * from cte where ConcatenatedCol LIKE '%search word%'
Something tells me, that the above is not what you are looking for. But again, your explanations too obscure (at least to me).
Now, if for any reason the sample I gave is exactly what you trying to do, than I can give you another advise: If your table is significantly large and you want such search to be acceptably quick, you better use Free-text index search feature.