LONG VARCHAR 有多“喜欢”?

Nik*_*nko 7 vertica

我有 DB Vertica 8.0。创建模式 WAREHOUSE,其中包含 LONG VARCHAR 类型的字段。现在我尝试执行 SELECT 例如

SELECT * FROM WAREHOUSE.ALL_EVENTS a 
WHERE 
a.original_data like '%d963%'
Run Code Online (Sandbox Code Playgroud)

返回错误

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
Run Code Online (Sandbox Code Playgroud)

在 Oracle 中,我将 dbms_lob 包用于 CLOB 字段。

Vertica 有 LONG VARCHAR 类型的模拟包吗?

LONG VARCHAR 有多“喜欢”?

mau*_*uro 7

正如精美手册中所解释的,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');
Run Code Online (Sandbox Code Playgroud)

就这样。