2017-10-20 92 views
1

我有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」?

回答

2

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'); 

就是這樣。