let us start with this.
Run this locally and see what you can glean that might lead you to the solution you need.
understanding is better than copy pasta code.
declare @search varchar(50) = 'address'
--sample table
create table sqlfor(id int, name varchar(50),
yadi bit, yada datetime)
--sample data
insert into sqlfor
select top 10000 column_id,
name, 1, dateadd(dd,user_type_id, getdate())
from sys.all_columns
select c.name, c.user_type_id, ty.name
from sys.tables t
join sys.columns c
on t.object_id = c.object_id
join sys.types ty on ty.user_type_id = c.user_type_id
where t.name = 'sqlfor'
and ty.name not in ('int','bit','datetime')
drop table sqlfor