LONG VARCHAR如何“LIKE”?

问题描述:

我有DB Vertica 8.0。按照LONG VARCHAR类型创建具有表包含字段的WAREHOUSE模式。现在,我试图execude SELECT例如LONG VARCHAR如何“LIKE”?

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

返回错误

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 

在Oracle我用DBMS_LOB包CLOB领域。

Vertica对LONG VARCHAR类型具有simular包吗?

LONG VARCHAR如何“LIKE”?

fine manual中所述,Vertica中的(SQL标准)LIKE谓词接受CHAR,VARCHAR,BINARY和VARBINARY数据类型。

要在LONG VARCHAR列上执行LIKE操作,您可以使用REGEXP_LIKE(无需安装/使用任何特殊软件包)。这样:

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

就是这样。