Search code examples
pentahobind-variablesmonetdb

Bind variables in case statement in MonetDB


I seem to have come across a strange restriction in using bind variables in MonetDB. If i use bind variables in the normal way by saying where field=${var} then it works. But not in this case:

Here is a sample:

select case when ${Brand} = 'All'

And here is the error:

EXEC: wrong type for argument 1 of prepared statement: char, expected char

Using the latest version of the jdbc driver (2.9) via Pentaho.


Solution

  • Casting to char doesnt work either.

    However casting both sides to Varchar does work i.e.:

    cast(${Brand} as varchar(100)) = cast('All' as varchar(100))
    

    So I guess char's are just a bit funky in MonetDB