計算列を追加する必要があります
Alter Table BEER_HERE Add Column XBEER_DATE As dbo.TRUNCATE_DATE(BEER_DATE)
その後、期待どおりにインデックスを作成できます。
ただし、関数は、http://msdn.microsoft.com/en-us/library/ms189292(v=sql.90).aspx .関数はこれらの要件を満たす必要がありますが、With SchemaBinding を関数定義に追加する必要がある場合があります。
ビューを使用することもできます
Create View V_BEER_HERE As Select BEER_CODE, BEER_DATE, dbo.TRUNCATE_DATE(BEER_DATE) As XBEER_DATE From BEER_HERE
Create Unique Clustered Index PK_V_BEER_HERE On V_BEER_HERE (BEER_CODE)
Create Index I_XBEER_DATE On V_BEER_HERE (XBEER_DATE)
テーブルへの書き込みを挿入するもの、ビューから読み取るものを読み取ります。これは、BEER_CODE が主キーであることに依存します。
SQL Server には、Oracle のように関数ベースのインデックスがありません。