7

I had DB Vertica 8.0. Create schema WAREHOUSE with table include field by type LONG VARCHAR. Now I tried to execude SELECT for example

SELECT * FROM WAREHOUSE.ALL_EVENTS a 
WHERE 
a.original_data like '%d963%'

returned error

SQL Error [4286] [42883]: [Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown
  [Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown
    com.vertica.util.ServerException: [Vertica][VJDBC](4286) ERROR: Operator does not exist: long varchar ~~ unknown

In Oracle I used dbms_lob package for CLOB fields.

Vertica have simular package for LONG VARCHAR types?

How "LIKE" by LONG VARCHAR?

Nikolay Baranenko
  • 1,582
  • 6
  • 35
  • 60

1 Answers1

7

As explained in the fine manual the (SQL standard) LIKE predicate in Vertica accept CHAR, VARCHAR, BINARY and VARBINARY data types.

To perform LIKE operations on LONG VARCHAR columns you can use REGEXP_LIKE (no need to install/use any special package). This way:

SELECT *
FROM WAREHOUSE.ALL_EVENTS a 
WHERE REGEXP_LIKE(a.original_data, 'd963');

That's all.

Jin Kwon
  • 20,295
  • 14
  • 115
  • 184
mauro
  • 5,730
  • 2
  • 26
  • 25