vertica - LONG VARCHAR 如何 “LIKE”?

标签 vertica

我有 DB Vertica 8.0。使用 LONG VARCHAR 类型的表包含字段创建架构 WAREHOUSE。现在我尝试执行 SELECT 例如

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 类型的模拟包吗?

LONG VARCHAR 如何“喜欢”?

最佳答案

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

就这样。

关于vertica - LONG VARCHAR 如何 “LIKE”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46855562/

相关文章:

database - Vertica 数据库设计器生成的投影部署脚本中的提示是什么意思?

java - VerticaCopyStream 非常慢

database - Vertica 中的最大列数和列长度?

sql - 选择提取中的选择语句

database - 如何将数据从 .csv 导入到具有自动递增列的表中?

垂直数据库 : Need to use a date string and convert as part of where clause

python - pandas dataframe到vertica表插入更快的方法

python - 使用 python 将数据复制到 Vertica

database - 将数据库复制(克隆)到另一个编号不同的 Vertica 集群。节点数和不同的 IP 地址

python - pyodbc unicode 查询失败