表中有列中的值,如
colname
TMC_MCH,OTA_MCH,CONSOL_MCH,RETAIL_MCH,TOUROP_MCH,SPEC_MCH,QRACTO_MCH
RETAIL_MCH
RETAIL_MCH,CONSOL_MCH
CONSOL_MCH
OTA_MCH我需要运行查询来获取包含RETAIL_MCH或CONSOL_MCH的所有行。如果我在下面运行查询,就会得到如下结果
select * from table111 where
(CONTAINS(table111.colname, 'RETAIL,CONSOL' , 1) > 0)
TMC_MCH,OTA_MCH,CONSOL_MCH,RETAIL_MCH,TOUROP_MCH,SPEC_MCH,QRACTO_MCH
RETAIL_MCH
RETAIL_MCH,CONSOL_MCH
CONSOL_MCH但我需要精确搜索,包括下划线"_“
从table111其中选择*(包含(table111.colname,'RETAIL_MCH,CONSOL_MCH‘,1) > 0)
发布于 2021-01-19 10:52:56
如果你说出你想要的结果,可能会更简单。据我所知,也许这会有所帮助:
select *
from table111
where instr(colname, 'RETAIL_MCH') > 0
or instr(colname, 'CONSOL_MCH') > 0;OR可能需要由AND代替(取决于您想要什么)。
发布于 2021-01-19 11:54:50
如果您想要这两种价值,您可以使用:
where CONTAINS(table111.colname, 'RETAIL|CONSOL' , 1) > 0如果你想两者兼得:
where CONTAINS(table111.colname, 'RETAIL&CONSOL' , 1) > 0您应该将值传递给您想要的操作符,而不是,。
https://stackoverflow.com/questions/65789918
复制相似问题