I would like to create computed index on a table if SQL Server is 2008 or newer and a simple index if SQL Server is 2005 or older:
-- check for sql server version
if (select cast(left(cast(serverproperty('productversion') as varchar), 4) as decimal(5, 3))) >= 10
CREATE unique nonclustered index ix1_table
ON table (column1, column2)
WHERE column1 is not null and column2 is not null
ELSE
CREATE nonclustered index ix1_table
ON table (column1, column2)
The problem is that the whole statement is evaluated and on SQL Server 2005 this throws an error:
Incorrect syntax near the keyword 'WHERE'.
Is it possible to somehow create different index based on SQL Server version?