Bạn sẽ cần thêm một cột được tính toán
Alter Table BEER_HERE Add Column XBEER_DATE As dbo.TRUNCATE_DATE(BEER_DATE)
Sau đó, bạn có thể lập chỉ mục nó như bạn mong đợi.
Tuy nhiên, hàm của bạn cần phải xác định và chính xác như được định nghĩa trong http://msdn.microsoft.com/en-us/library/ms189292 (v =sql.90) .aspx . Hàm của bạn phải đáp ứng các yêu cầu này, nhưng bạn có thể cần thêm With SchemaBinding vào định nghĩa hàm.
Bạn cũng có thể sử dụng một chế độ xem
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)
Nội dung chèn ghi vào bảng, nội dung ghi đọc từ chế độ xem. Điều này phụ thuộc vào việc BEER_CODE là khóa chính.
SQL Server không có các chỉ mục dựa trên chức năng giống như cách Oracle làm.