Я предлагаю вам обратиться к этому как к двум проблемам. Есть несколько вопросов и ответов, связанных с обоими.
Ваш код выглядит нормально, как видно из этой db <> скрипки. Тем не менее, я бы предложил использовать COALESCE()
вместо CASE
:
CREATE TABLE [table1] (
id [bigint] NOT NULL,
[date1] [datetime] NULL,
[date2] [datetime] NULL,
[date] AS ( COALESCE(date1, date2) )
);
Это более кратко.