sql中的字符串模式匹配

时间:2018-05-24 14:48:57

标签: mysql sql pattern-matching

请帮我编写以下方案的通用SQL查询。 基于表2中的数据,确定输出。对于Eg1,如果表2中存在AB *,则输出将是AB01,AB02。 表2中存在Eg2-AB02,仅输出AB02 表3中存在Eg3 - *,表1中的所有数据都在输出中

情景1

Table1  
AB01  
AB02  
BE01  
GH01  

Table2  
AB*

Output  
AB01  
AB02 
Scenario 2

Table1  
AB01  
AB02  
BE01  
GH01  

Table2  
AB02

Output   
AB02

情景3

Table1

AB01  
AB02  
BE01  
GH01  

Table2  
*

Output  
AB01  
AB02  
BE01  
GH01  

2 个答案:

答案 0 :(得分:0)

在表格之间的交叉连接上使用nan nan nan nan nan nan nan nan nan nan nan nan A B C val val val val val val

rlike

您可能需要在table2中调整表达式以成为标准正则表达式模式,但这应该很容易。见https://dev.mysql.com/doc/refman/8.0/en/regexp.html

答案 1 :(得分:0)

这应该适合你:

select a.* from table1 a join table2 b on a.field like '%'+replace(b.field,'*','')+'%'