2016-10-19 74 views
-1

基本上是有办法,我可以这样做:我可以在数据库值上使用通配符而不是我比较的变量吗?

Select * from TABLE WHERE "%nickName%" LIKE "longName" 

我不想打破LONGNAME到的各个单词串,并比较各一个,因为这是企业,所以如果我说:

WHERE 'nickName' LIKE "%word1%" 
or 'nickName' LIKE "%word2%" 

当长名称中存在“LLC”时,它将返回名称中包含LLC的所有公司。

任何想法?我非常感谢帮助。

+0

基本上没有。您不能在列名称,句点中使用通配符。 –

回答

0

嗯。 。 。这是否做你想要的?

where nickName regexp replace(longname, ' ', '|') 

如果longname是“ABC DEF GHI”,那么这将变成“ABC | DEF | GHI”,这是找到任何这三个字的正则表达式。

+0

这是一个非常好的表达 - 但我认为它仍然会产生如果longName =“Smith Electronics LLC”它将返回“Dawson MicroComputers LLC”和“Allen Development LLC”的问题,但我只希望它返回像“Smith “或”史密斯电子“ – codezilla

+0

@codezilla。 。 。这似乎是你要求的。 –

相关问题