在类SQL或regexp运算符中使用列字段

在类SQL或regexp运算符中使用列字段,sql,sql-like,vertica,regexp-like,Sql,Sql Like,Vertica,Regexp Like,我有一个问题: Select * from table where field1 LIKE '%12345%' (12345 being a column value : field2) *Works* 我想在LIKE运算符中使用列字段值,而不是硬编码。 尝试使用concat: where field1 LIKE concat(concat('%',field2), '%') *doesnt work* 尝试使用regexp\u,如: where regexp_like(field1,

我有一个问题:

Select * 
from table 
where 
field1 LIKE '%12345%' (12345 being a column value : field2) *Works*
我想在LIKE运算符中使用列字段值,而不是硬编码。 尝试使用concat:

where field1 LIKE concat(concat('%',field2), '%') *doesnt work*
尝试使用regexp\u,如:

where regexp_like(field1, Cast(field2 as character)) *doesnt work*
只用一个海螺

where field1 LIKE concat( '%',TRIM(field2), '%') 
只用一个海螺

where field1 LIKE concat( '%',TRIM(field2), '%') 
见下文:

dbadmin=> create table test1 (a varchar(100));

CREATE TABLE
dbadmin=> 

insert into test1 values('Good morining ');
 OUTPUT
--------
      1
(1 row)

dbadmin=> select * from test1 where a like '%'||a||'%';
       a
----------------
 Good morining
(1 row)
见下文:

dbadmin=> create table test1 (a varchar(100));

CREATE TABLE
dbadmin=> 

insert into test1 values('Good morining ');
 OUTPUT
--------
      1
(1 row)

dbadmin=> select * from test1 where a like '%'||a||'%';
       a
----------------
 Good morining
(1 row)

在回答之前,我已经测试了代码。你有错吗。如果不工作可能是不匹配(但工作)…我已经用修剪来更新答案,以便清理场地。。。try@Neha-正如旁白“不起作用”对人们来说是没有用的反馈。具体点。它是否不返回结果、错误结果、错误消息等?这些都是建议答案可能不起作用的不同方式,了解具体情况(例如,如果结果错误,它们是如何错误的/如果是错误信息,错误是什么)可以极大地帮助指导人们帮助你,特别是当他们无法访问你的数据,也不知道你的目标是什么时(提示:在问题中添加示例数据和预期结果也会有帮助)我在回答之前已经测试了代码。你有错误吗?。如果不工作,可能是不匹配(但工作)…我已经用清理字段的修剪更新了答案。。。try@Neha-就像旁白“不起作用”不是有用的反馈。要具体。它是否不返回结果、错误结果、错误消息等?这些都是建议答案可能不起作用的不同方式,并且知道具体情况(例如,如果是错误的结果,它们是如何错误的/如果是错误消息,错误是什么)可以极大地帮助指导人们帮助你,特别是当他们无法访问你的数据,也不知道你的目标是什么时(提示:在问题中添加样本数据和预期结果也会有帮助)“field2”是什么?列名还是什么?你如何定义“field2”?什么是“field2”?列名还是什么?你如何定义“第二场”?