Я верю, что вы просто хотите coalesce()
.Что еще более важно, представляйте свои даты, используя стандартный формат ISO / ANSI, такой как ГГГГ-ММ-ДД:
select l.id,
coalesce(l.date_time_ic, l.date_time_mc) as thedate
from new.customers l
where coalesce(l.date_time_ic, l.date_time_mc) >= '2018-04-01' and
coalesce(l.date_time_ic, l.date_time_mc) < '2018-05-01' ;
. Вы заметите, что я изменил логику даты, чтобы использовать сравнения вместо between
. Здесь - хороший блог на эту тему.Большая часть того, что есть в блоге, относится ко всем базам данных, а не только к SQL Server.