在Sql語句的Select部分對字段編寫標量函數是完全可以的,但是下面代碼:
select EmpNo,LastName from Emp where YEAR(HireDate)=2005
應當寫為
select EmpNo,LastName from Emp where HireDate between '' and ''
如上所示重寫這個語句后,DB2可以選擇使用HireDate上的索引(如果存在這樣一個索引)。但是如果在使用了Year函數,DB2就無法使用該列的索引了。
雖然可以使用函數或表達式創建表達式索引,即便如此,仍然要盡可能像上面那樣重新編寫查詢。
