>I am experiencing a strange problem with the following code:
>
>
>SELECT * FROM MyTable WHERE test() > 10
>
>FUNCTION test
>RETURN (MAX(MyTable.DATE1-MyTable.DATE2,0))
>
>
>The code above returns (selects) no records if the value after test() is greater than 10 (e.g. test() > 11). However, many records in the table MyTable have value of DATE1 greater than DATE2 by more than even 20.
>
>What am I missing in my sample code above?
>
>Thank you.
Why do you need UDF here at all? Or this is just a test code? You still should pass date1 and date2 to the function as parameters.
BTW, I didn't read the whole thread yet. So I can see now that Sergey surely already answered.
If it's not broken, fix it until it is.
My Blog