Consider the following scenario:
- You use a database with the compatibility level set to 130 in Microsoft SQL Server 2016.
- You execute a query that accesses a column store index and a row store index or a heap, and includes a filter predicate (WHERE clause).
In addition, if the query uses an expression (such as type conversion) where its correctness depends on filtered data (for example, a char table column is converted to int, but only a subset of values contain a valid int representation, and this subset is identified by the filter predicate), then the query may fail with a data conversion error that resembles one of the following:
Conversion failed when converting the varchar value '0.5' to data type int.
Msg 8114, Level 16, State 5, Line 34
Error converting data type varchar to bigint.
This issue is fixed in the following cumulative update for SQL Server:
Cumulative Update 2 for SQL Server 2016 SP1
Note You must enable query optimizer hotfixes in order for this fix to take effect.
You can enable the query optimizer hotfixes by using one of the following options: trace flag 4199, Database Scoped Configuration setting QUERY_OPTIMIZER_HOTFIXES=ON (available in SQL Server 2016 and later), or USE_HINT query option 'ENABLE_QUERY_OPTIMIZER_HOTFIXES' (available in SQL Server 2016 SP1 and later).
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.