【发布时间】:2010-06-14 12:53:05
【问题描述】:
我正在尝试对我的 IIS 日志表执行以下操作:
ALTER TABLE [W3CLog]
ADD [LogTime] AS [date] + ([time] - '1900-01-01') PERSISTED
但是,SQL Server 2008 告诉我:
表“W3CLog”中的计算列“LogTime”无法持久化,因为该列是不确定的。
表格有这样的定义:
CREATE TABLE [dbo].[W3CLog](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
...
[date] [datetime] NULL,
[time] [datetime] NULL,
...
)
为什么这是不确定的?
我真的需要索引那个字段。该表目前有 1598170 行,如果我们不能全时进行索引查找,查询起来很痛苦。由于这是与其他一些日志格式进行联合,因此我们不能很容易地单独使用这两列。
【问题讨论】:
-
你能用
CONVERT(datetime, '19000101', 112)吗?
标签: sql sql-server-2008 deterministic