Я пытаюсь сделать следующее для моей таблицы журналов IIS:
ALTER TABLE [W3CLog]
ADD [LogTime] AS [date] + ([time] - '1900-01-01') PERSISTED
Однако SQL Server 2008 говорит мне:
Computed column 'LogTime' in table 'W3CLog' cannot be persisted because the column is non-deterministic.
В таблице есть такое определение:
CREATE TABLE [dbo].[W3CLog](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
...
[date] [datetime] NULL,
[time] [datetime] NULL,
...
)
Почему это недетерминировано?
Мне действительно нужно проиндексировать это поле. В настоящее время в таблице 1598170 строк, и очень сложно выполнять запросы, если мы не можем постоянно выполнять поиск по индексу. Поскольку это объединяется с некоторыми другими форматами журнала, мы не можем просто использовать два столбца по отдельности.
CONVERT(datetime, '19000101', 112)
? - person Gabe   schedule 14.06.2010