У меня есть таблица с двумя столбцами даты, и оба разрешения допускают.Возможно ли иметь оператор Case в вычисляемом столбце SQL Server
Если FileDate не является нулевым, то AsOfDate должен быть равен (FileDate - Offset), где Offset - целочисленный столбец с нулевым значением по умолчанию.
Вот мой стол Защита:
CREATE TABLE [import].[CMAR_GLXXXX](
[FileDate] [date] NULL,
[LoadDTM] [date] NULL,
[AsOfDate] [date] NULL,
[AccountNumber] [varchar](50) NOT NULL,
[CostCenter] [varchar](50) NOT NULL,
[OffSet] [int] default (0) NOT NULL,
[Value] [decimal](10,2) NOT NULL
) ON [PRIMARY]
Я попытался с помощью следующих действий:
(case when [File] IS NULL then NULL else dateadd(day,(-1 * [Offset]),[FileDate]) end)
К сожалению диалогового окно ошибки столбца вычисленное не отображает большую помощи в устранении неполадок выражения.
Любые идеи?
Вы можете поделиться своим полным заявлением 'create table', пожалуйста? – Mureinik
Будут делать, но имена команд разные. Я уберу вопрос, чтобы они совпали. – bsivel
'CASE' не является выражением - это ** выражение ** (например,' a + b'), которое может возвращать одно атомное значение (из набора возможных альтернатив). И да - выражение 'CASE' может использоваться везде, где может использоваться любое другое выражение, в том числе в вычисляемом определении столбца. –