[Beastmode] Like binary - to find uppercase text

When I use the following (example) query it's working fine:

(case when `Product` like '%PROduct1%' then 'Productone' else 'Ignore' end)

 

Except that product1 also turns up in my results and I only want PROduct1 which uses uppercase letters.

 

In mysql you can use "like binary" but when I change it to:

(case when `Product` like binary '%PROduct1%' then 'Productone' else 'Ignore' end)

it gives me a syntax error.

 

Any solution to this?

Comments

  • GrantSmith
    GrantSmith Indiana 🔴

    Hi @user046467 

     

    In MySQL (which Domo uses) LIKE is case INsensitive so you're seeing records with both uppercase and lowercase variants on your search string. Domo doesn't support the BINARY flag for LIKE searches either which is why you're getting that error.

     

    If you want case sensitivity you can utilize the INSTR function.

     

    CASE WHEN INSTR(`Product`,'PROduct1') THEN 'Productone' ELSE 'Ignore' END

     

     

  • jaeW_at_Onyx
    jaeW_at_Onyx Budapest / Portland, OR 🟤

    Oh ... let's be clear here, in Beast Modes / Adrenaline, Domo IS NOT using MySQL.  Adrenaline is a database engine built on a blend of proprietary and open source technology.  The function implementations MIMIC MySQL syntax and functions, but it IS NOT MySQL.

     

    (seems like a stupid point, but MySQL uses row-based indexing and Adrenaline does not AFAIK)