Это кажется очень глупой вещью, однако, если вы действительно хотите отображать все свои даты в виде числового значения, используя нумерацию Excel, тогда вы можете сделать:
SELECT PcptClassDate,
CASE WHEN TRY_CONVERT(int,PcptClassDate) IS NOT NULL THEN PcptClassDate
ELSE DATEDIFF(DAY,'19000101',TRY_CONVERT(date,PcptClassDate,103)) + 2
END AS ExcelDateNum
FROM (VALUES ('01/04/2018 00:00:00'),
('02/04/2018 00:00:00'),
('07/04/2018 00:00:00'),
('28/09/2018'),
('29/09/2018'),
('30/03/2018 00:00:00'),
('30/08/2018'),
('31/03/2018 00:00:00'),
('31/08/2018'),
('43227'),
('43232'),
('43233'),
('43239'))V(PcptClassDate);
Как я уже говорил в комментариях, это кажется очень плохой идеей; поскольку «дата» 43371
не имеет смысла для большинства человек.