我们正在根据帐号验证银行名称。在多字词字符串中匹配单词的单词
第三方API在提供帐号时返回银行的名称。这是一个多字字符串,并且没有可以返回的固定值列表。
我们需要检查由API返回的银行对照我们数据库中的表中的银行名称列表。要做到这一点,我们有一张表格,里面有我们希望用于匹配的银行名称的同义词。请参阅下面的SQL。
要做到这一点,我们希望找到我们的表匹配“香港”的,“红”或“上海”,如果API返回的“香港上海汇丰银行”或“香港&上海汇丰银行有限公司'等
看到我们希望匹配我们表中的一个单词,针对多字字符串,我不知道如何在MySQL中执行此操作。
SQL在我们的数据库中的银行名称表....
CREATE TABLE IF NOT EXISTS `bank_names` (
`bank_name_id` int(11) NOT NULL AUTO_INCREMENT,
`bank` varchar(50) NOT NULL,
PRIMARY KEY (`bank_name_id`),
UNIQUE KEY `bank` (`bank`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `bank_names` (`bank`) VALUES
('kong'),
('hong'),
('shanghai'),
('westminster'),
('citi'),
('citibank');
我已经试过......
SELECT *
FROM `bank_names`
WHERE bank LIKE '%Hong Kong and Shanghai Banking Corporation%';
这显然是行不通的。
预先感谢您。
你可以使用'FIND_IN_SET'或'IN' ...,只要将你的字符串转换为数组并使用它们即可。 –