I understood why my function is not deterministic. He relies on Convert expressions with style codes 1, 3, and then others in excess of 100.
According to msdn Convert:
Deterministic if one of these conditions does not exist:
Source type is sql_variant.
The target type is sql_variant, and its source type is non-deterministic.
The source or destination type is datetime or smalldatetime, the other source or destination type is a character string, and a non-deterministic style is specified. To be deterministic, the style parameter must be constant. In addition, styles less than or equal to 100 are non-deterministic, with the exception of styles 20 and 21. Styles over 100 are deterministic, with the exception of styles 106, 107, 109 and 113.
Tony peterson
source share