declare @table1 table
(
acctnum int,
acctname varchar(10),
myDate varchar(20)
)
insert into @table1(acctnum, acctname, myDate)
values(1, 'A', '20200401-000000'),
(2, 'B', convert(varchar(20), getdate(), 112) + '-000000'),
(3, 'C', convert(varchar(20), getdate(), 112) + '-000000'),
(4, 'D', 'abcd-0000');
select *
from @table1;
select *, case isdate(stuffdate) when 1 then cast(stuffdate as date) end
from
(
select *, stuff(stuff(stuff(myDate, 14, 0, ':'), 12, 0, ':'), 9, 1, ' ') as stuffdate
from @table1
where myDate like convert(varchar(20), getdate(), 112)+'%'
) as t;
select *
from
(
select *, stuff(stuff(stuff(myDate, 14, 0, ':'), 12, 0, ':'), 9, 1, ' ') as stuffdate
from @table1
) as t
where case isdate(stuffdate) when 1 then cast(stuffdate as date) end = convert(varchar(20), getdate(), 112);